<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Swr on LibreLeo: Financial Freedom for Globally Mobile Investors</title><link>https://libreleo.com/tags/swr/</link><description>Tools, math, and lived experience for expats building wealth across borders. Passive portfolios and active income from a Dubai-based trader.</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright © 2026 | All rights reserved</copyright><lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://libreleo.com/tags/swr/index.xml" rel="self" type="application/rss+xml"/><item><title>Monte Carlo Retirement Calculator</title><link>https://libreleo.com/calculators/monte-carlo-retirement-calculator/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate><guid>https://libreleo.com/calculators/monte-carlo-retirement-calculator/</guid><description>Interactive Monte Carlo simulator. 10,000 scenarios by default, up to 100,000. Four portfolios, two withdrawal strategies, log-normal compounding, fat-tail mode. Run your real retirement numbers.</description><content:encoded><![CDATA[
  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    
  </span>

  <span
    
      style="color: #ffffff"
    
    ><strong>Want to understand the methodology?</strong> Learn why Monte Carlo simulation matters and how it models market volatility in our <strong><a href="/posts/monte-carlo-simulation-retirement-planning/" >Complete Guide to Monte Carlo Retirement Planning</a></strong>.</span>
</div>


<h2 class="relative group">Interactive Calculator
    <div id="interactive-calculator" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#interactive-calculator" aria-label="Anchor">#</a>
    </span>
    
</h2>

<div class="monte-carlo-calculator" id="monte-carlo-app">
  
  <div class="mc-header">
    <h2>🎲 Monte Carlo Retirement Calculator</h2>
    <p class="mc-subtitle">Simulate your financial future with 10,000 scenarios (up to 100,000)</p>
  </div>

  
  <div class="mc-section">
    <h3>1. Choose Your Portfolio</h3>
    <div class="portfolio-grid">
      <div class="portfolio-card" data-portfolio="1">
        <div class="portfolio-header">
          <input type="radio" name="portfolio" id="p1" value="1" checked>
          <label for="p1">
            <strong>Dividend-Focused</strong>
            <span class="badge">Original</span>
          </label>
        </div>
        <div class="portfolio-details">
          <p class="portfolio-desc">Heavy dividend tilt with growth</p>
          <ul class="portfolio-assets">
            <li>VTI: 35% • SCHG: 15%</li>
            <li>SCHD: 30% • SGOV: 20%</li>
          </ul>
          <div class="portfolio-stats">
            <span>ER: 0.0525%</span>
            <span class="exp-return-label" data-portfolio="1">Exp Return: —</span>
          </div>
        </div>
      </div>

      <div class="portfolio-card recommended" data-portfolio="2">
        <div class="portfolio-header">
          <input type="radio" name="portfolio" id="p2" value="2">
          <label for="p2">
            <strong>Classic Three-Fund</strong>
            <span class="badge recommended-badge">⭐ Recommended</span>
          </label>
        </div>
        <div class="portfolio-details">
          <p class="portfolio-desc">Ultimate simple, diversified portfolio</p>
          <ul class="portfolio-assets">
            <li>VTI: 54% • VXUS: 26%</li>
            <li>BND: 20%</li>
          </ul>
          <div class="portfolio-stats">
            <span>ER: 0.0404%</span>
            <span class="exp-return-label" data-portfolio="2">Exp Return: —</span>
          </div>
        </div>
      </div>

      <div class="portfolio-card" data-portfolio="3">
        <div class="portfolio-header">
          <input type="radio" name="portfolio" id="p3" value="3">
          <label for="p3">
            <strong>Golden Butterfly</strong>
            <span class="badge">All-Weather</span>
          </label>
        </div>
        <div class="portfolio-details">
          <p class="portfolio-desc">All market conditions with gold</p>
          <ul class="portfolio-assets">
            <li>VTI: 30% • VXUS: 10%</li>
            <li>SHY: 20% • TLT: 20% • GLD: 20%</li>
          </ul>
          <div class="portfolio-stats">
            <span>ER: 0.1560%</span>
            <span class="exp-return-label" data-portfolio="3">Exp Return: —</span>
          </div>
        </div>
      </div>

      <div class="portfolio-card" data-portfolio="4">
        <div class="portfolio-header">
          <input type="radio" name="portfolio" id="p4" value="4">
          <label for="p4">
            <strong>Modern Bogleheads</strong>
            <span class="badge">TIPS & REITs</span>
          </label>
        </div>
        <div class="portfolio-details">
          <p class="portfolio-desc">Enhanced diversification + inflation</p>
          <ul class="portfolio-assets">
            <li>VTI: 40% • VXUS: 20%</li>
            <li>VNQ: 10% • VTIP: 15% • BND: 15%</li>
          </ul>
          <div class="portfolio-stats">
            <span>ER: 0.0485%</span>
            <span class="exp-return-label" data-portfolio="4">Exp Return: —</span>
          </div>
        </div>
      </div>
    </div>
  </div>

  
  <div class="mc-section">
    <h3>2. Set Your Parameters</h3>
    <div class="input-grid">
      <div class="input-group">
        <label for="initial-value">
          Starting Portfolio Value
          <span class="help-text">How much are you starting with?</span>
        </label>
        <div class="input-with-prefix">
          <span class="prefix">$</span>
          <input type="number" id="initial-value" value="1000000" min="10000" step="10000">
        </div>
      </div>

      <div class="input-group">
        <label for="withdrawal-rate">
          Annual Withdrawal Rate
          <span class="help-text">% of portfolio value</span>
        </label>
        <div class="input-with-suffix">
          <input type="number" id="withdrawal-rate" value="3.0" min="1" max="10" step="0.1">
          <span class="suffix">%</span>
        </div>
      </div>

      <div class="input-group">
        <label for="withdrawal-strategy">
          Withdrawal Strategy
          <span class="help-text">How withdrawals adjust over time</span>
        </label>
        <select id="withdrawal-strategy">
          <option value="constant">Constant Dollar (Traditional SWR)</option>
          <option value="dynamic">Dynamic Spending (Vanguard)</option>
        </select>
      </div>

      <div class="input-group">
        <label for="years">
          Simulation Duration
          <span class="help-text">Years until you turn 100</span>
        </label>
        <div class="input-with-suffix">
          <input type="number" id="years" value="50" min="10" max="70" step="5">
          <span class="suffix">years</span>
        </div>
      </div>

      <div class="input-group">
        <label for="advisor-fee">
          Additional Fees (optional)
          <span class="help-text">Robo-advisor or financial advisor fee</span>
        </label>
        <div class="input-with-suffix">
          <input type="number" id="advisor-fee" value="0" min="0" max="2" step="0.05">
          <span class="suffix">%</span>
        </div>
      </div>
    </div>

    <div class="advanced-options">
      <button type="button" class="toggle-advanced" id="toggle-advanced">
        <span class="toggle-text">⚙️ Advanced Options</span>
        <span class="arrow">▼</span>
      </button>
      <div class="advanced-content" id="advanced-content" style="display: none;">
        <div class="input-grid">
          <div class="input-group">
            <label for="simulations">
              Number of Simulations
              <span class="help-text">More = more accurate (slower)</span>
            </label>
            <select id="simulations">
              <option value="1000">1,000 (Fast)</option>
              <option value="10000" selected>10,000 (Recommended)</option>
              <option value="50000">50,000 (Accurate)</option>
              <option value="100000">100,000 (Very Accurate)</option>
            </select>
          </div>

          <div class="input-group">
            <label for="inflation">
              Inflation Rate
              <span class="help-text">Expected annual inflation</span>
            </label>
            <div class="input-with-suffix">
              <input type="number" id="inflation" value="2.5" min="0" max="10" step="0.1">
              <span class="suffix">%</span>
            </div>
          </div>

          <div class="input-group checkbox-group">
            <label>
              <input type="checkbox" id="fat-tails">
              <span>Enable Fat-Tail Mode</span>
              <span class="help-text">Better models black swan events</span>
            </label>
          </div>

          <div class="input-group" id="dynamic-floor-group" style="display: none;">
            <label for="dynamic-floor">
              Dynamic Floor
              <span class="help-text">% below inflation-adjusted spending</span>
            </label>
            <div class="input-with-suffix">
              <input type="number" id="dynamic-floor" value="2.5" min="0" max="20" step="0.5">
              <span class="suffix">%</span>
            </div>
          </div>

          <div class="input-group" id="dynamic-ceiling-group" style="display: none;">
            <label for="dynamic-ceiling">
              Dynamic Ceiling
              <span class="help-text">% above inflation-adjusted spending</span>
            </label>
            <div class="input-with-suffix">
              <input type="number" id="dynamic-ceiling" value="5.0" min="0" max="20" step="0.5">
              <span class="suffix">%</span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>

  
  <div class="mc-section">
    <button type="button" class="btn-primary btn-large" id="run-simulation">
      <span class="btn-text">🚀 Run Simulation</span>
      <span class="btn-loading" style="display: none;">⏳ Running...</span>
    </button>
  </div>

  
  <div class="mc-section results-section" id="results-section" style="display: none;">
    <h3>📊 Simulation Results</h3>

    
    <div class="summary-grid">
      <div class="summary-card success">
        <div class="card-header">Median Outcome</div>
        <div class="card-value" id="median-value">$0</div>
        <div class="card-subtitle" id="median-real">$0 real</div>
      </div>

      <div class="summary-card warning">
        <div class="card-header">Worst Case (5th %ile)</div>
        <div class="card-value" id="p5-value">$0</div>
        <div class="card-subtitle" id="p5-real">$0 real</div>
      </div>

      <div class="summary-card info">
        <div class="card-header">Best Case (95th %ile)</div>
        <div class="card-value" id="p95-value">$0</div>
        <div class="card-subtitle" id="p95-real">$0 real</div>
      </div>

      <div class="summary-card" id="depletion-card">
        <div class="card-header">Depletion Risk</div>
        <div class="card-value" id="depletion-prob">0.0%</div>
        <div class="card-subtitle">Chance of running out</div>
      </div>
    </div>

    
    <p class="growth-context" id="growth-context">
      Without withdrawals, your median outcome would be
      <strong id="no-wd-median">$0</strong>
      (<span id="no-wd-median-real">$0 real</span>).
      Your withdrawals cost about
      <strong id="wd-cost">$0</strong>
      of median compound growth over the horizon. <em>That's the real price of retirement spending.</em>
    </p>

    
    <div class="chart-container">
      <h4>Portfolio Growth Over Time</h4>
      <p class="chart-caption">
        The dashed brass line is the <strong>median path with no withdrawals</strong> — your portfolio's pure growth potential against the same market shocks. The gap between it and the solid green median is what your spending costs you, year by year.
      </p>
      <canvas id="growth-chart"></canvas>
    </div>

    <div class="chart-container">
      <h4>Distribution of Final Values</h4>
      <canvas id="distribution-chart"></canvas>
    </div>

    
    <div class="results-table">
      <h4>Detailed Metrics</h4>
      <table>
        <thead>
          <tr>
            <th>Metric</th>
            <th>Nominal Value</th>
            <th>Real Value (Today's $)</th>
          </tr>
        </thead>
        <tbody id="results-table-body">
        </tbody>
      </table>
    </div>

    
    <div class="risk-metrics">
      <h4>Risk Analysis</h4>
      <div class="metrics-grid">
        <div class="metric-item">
          <span class="metric-label">Median Max Drawdown</span>
          <span class="metric-value" id="median-drawdown">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Worst Drawdown (95th %ile)</span>
          <span class="metric-value" id="worst-drawdown">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Sharpe Ratio</span>
          <span class="metric-value" id="sharpe-ratio">0.00</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Sortino Ratio</span>
          <span class="metric-value" id="sortino-ratio">0.00</span>
        </div>
      </div>
    </div>

    
    <div class="risk-metrics">
      <h4>S&P 500 Benchmark Comparison</h4>
      <div class="metrics-grid">
        <div class="metric-item">
          <span class="metric-label">S&P 500 Median (Nominal)</span>
          <span class="metric-value" id="sp500-median">$0</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">S&P 500 Median (Real)</span>
          <span class="metric-value" id="sp500-median-real">$0</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Beat S&P 500 (Nominal)</span>
          <span class="metric-value" id="beat-sp500">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Beat S&P 500 (Real)</span>
          <span class="metric-value" id="beat-sp500-real">0%</span>
        </div>
      </div>
    </div>

    
    <div class="risk-metrics">
      <h4>Fee Impact Analysis</h4>
      <div class="metrics-grid">
        <div class="metric-item">
          <span class="metric-label">Blended Expense Ratio</span>
          <span class="metric-value" id="blended-er">0.00%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Total Annual Fee</span>
          <span class="metric-value" id="total-fee">0.00%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Fee Drag (Total)</span>
          <span class="metric-value" id="fee-drag">0.0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">Cost of Fees</span>
          <span class="metric-value" id="fee-cost">$0</span>
        </div>
      </div>
    </div>

    
    <div class="results-table">
      <h4>Withdrawal Analysis (First 10 Years)</h4>
      <table>
        <thead>
          <tr>
            <th>Year</th>
            <th>Average</th>
            <th>Median</th>
            <th>5th %ile</th>
            <th>95th %ile</th>
          </tr>
        </thead>
        <tbody id="withdrawal-table-first">
        </tbody>
      </table>
    </div>

    <div class="results-table">
      <h4>Withdrawal Analysis (Last 10 Years)</h4>
      <table>
        <thead>
          <tr>
            <th>Year</th>
            <th>Average</th>
            <th>Median</th>
            <th>5th %ile</th>
            <th>95th %ile</th>
          </tr>
        </thead>
        <tbody id="withdrawal-table-last">
        </tbody>
      </table>
    </div>

    
    <div class="risk-metrics">
      <h4>Goal Probability Analysis</h4>
      <p style="margin-bottom: 1rem; color: var(--mc-text-secondary);">Probability of reaching target by end of simulation:</p>
      <div class="metrics-grid">
        <div class="metric-item">
          <span class="metric-label">$1.5M</span>
          <span class="metric-value" id="goal-1500000">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">$2M</span>
          <span class="metric-value" id="goal-2000000">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">$3M</span>
          <span class="metric-value" id="goal-3000000">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">$5M</span>
          <span class="metric-value" id="goal-5000000">0%</span>
        </div>
        <div class="metric-item">
          <span class="metric-label">$10M</span>
          <span class="metric-value" id="goal-10000000">0%</span>
        </div>
      </div>
    </div>

    
    <div class="export-buttons">
      <button type="button" class="btn-secondary" id="export-csv">
        📥 Export to CSV
      </button>
      <button type="button" class="btn-secondary" id="copy-results">
        📋 Copy Results
      </button>
    </div>
  </div>

  
  <details class="mc-methodology">
    <summary>📐 Methodology &amp; assumptions</summary>
    <div class="mc-methodology-body">
      <h4>Engine</h4>
      <ul>
        <li><strong>Monthly Geometric Brownian Motion</strong> per asset, log-normal compounding (<code>value &times; exp(r)</code>) so portfolios can't go below zero.</li>
        <li><strong>Cholesky-decomposed correlation matrix</strong> drives correlated monthly returns across the assets in the chosen portfolio.</li>
        <li><strong>Fat-tail mode</strong> swaps Normal for Student's t (df=5) with variance correction.</li>
        <li><strong>Annual rebalance</strong> at year-end. Per-asset withdrawals are taken at target weights, which has a monthly partial-rebalance side effect.</li>
      </ul>
      <h4>What the metrics actually measure</h4>
      <ul>
        <li><strong>Median / 5th / 95th percentile</strong> — distribution of terminal portfolio values across paths.</li>
        <li><strong>Depletion risk</strong> — share of paths where terminal value &lt; $1.</li>
        <li><strong>Sharpe / Sortino</strong> — per-path risk-adjusted return computed from each simulation's gross monthly portfolio returns (annualized), then averaged across paths. <em>Not</em> a cross-path outcome-dispersion proxy.</li>
        <li><strong>Max drawdown</strong> — peak-to-trough decline of portfolio value <em>including withdrawals</em>. For retirees this conflates market loss with normal liquidation; expect drawdowns to climb over a long horizon even in benign markets.</li>
        <li><strong>P(beat S&amp;P 500)</strong> — the SP500 path shares VTI's correlated monthly shock (empirical ρ≈0.98) so the comparison happens in the same market state, not parallel universes.</li>
      </ul>
      <h4>Assumptions you should know about</h4>
      <ul>
        <li>Expected returns and volatilities are <strong>conservative empirical estimates</strong> (2000-2025 monthly data for US/intl equities, bonds, REITs, TIPS, gold). Bond and TIPS volatility have been bumped to ~4.5-5% to match empirical, not the textbook 3%.</li>
        <li><strong>No taxes.</strong> Withdrawals are pre-tax. Your real spending power depends on your jurisdiction.</li>
        <li><strong>No cash buffer mechanic.</strong> Real retirees often hold 1-2 years cash; not modelled. Biases outcomes slightly worse than reality for disciplined defenders.</li>
        <li><strong>Asset correlations are historical.</strong> Equity/long-bond correlation, in particular, has trended positive since 2022; the simulator uses a benign-decade prior. Treat Golden Butterfly's downside numbers as optimistic.</li>
      </ul>
      <p class="mc-methodology-note">
        Plan from the 5th percentile, not the median. Stack a regime-change haircut on top before sizing your spending. Monte Carlo is a stress test, not a forecast.
      </p>
    </div>
  </details>
</div>


<style>
:root {
  --mc-bg-primary: #ffffff;
  --mc-bg-secondary: #f9fafb;
  --mc-border: #e5e7eb;
  --mc-text-primary: #1f2937;
  --mc-text-secondary: #6b7280;
  --mc-card-bg: #ffffff;
  --mc-card-selected-bg: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  --mc-card-recommended-bg: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
  --mc-primary-color: #2563eb;
  --mc-success-color: #22c55e;
  --mc-warning-color: #f59e0b;
  --mc-danger-color: #ef4444;
  --mc-input-bg: #ffffff;
  --mc-input-border: #d1d5db;
  --mc-button-bg: #2563eb;
  --mc-button-text: #ffffff;
  --mc-button-hover-bg: #1d4ed8;
}

.dark {
  --mc-bg-primary: #1a202c;
  --mc-bg-secondary: #2d3748;
  --mc-border: #4a5568;
  --mc-text-primary: #e5e7eb;
  --mc-text-secondary: #9ca3af;
  --mc-card-bg: #2d3748;
  --mc-card-selected-bg: linear-gradient(135deg, #1e3a5f 0%, #2d4a7c 100%);
  --mc-card-recommended-bg: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%);
  --mc-primary-color: #3b82f6;
  --mc-success-color: #10b981;
  --mc-warning-color: #f59e0b;
  --mc-danger-color: #ef4444;
  --mc-input-bg: #1a202c;
  --mc-input-border: #4a5568;
  --mc-button-bg: #3b82f6;
  --mc-button-text: #ffffff;
  --mc-button-hover-bg: #2563eb;
}

.monte-carlo-calculator {
  max-width: 1200px;
  margin: 2rem auto;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background: var(--mc-bg-primary);
  color: var(--mc-text-primary);
}

.mc-header {
  text-align: center;
  margin-bottom: 2rem;
}

.mc-header h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  color: var(--mc-text-primary);
}

.mc-subtitle {
  color: var(--mc-text-secondary);
  font-size: 1.1rem;
}

.mc-section {
  border-radius: 12px;
  padding: 2rem;
  margin-bottom: 1.5rem;
}

.mc-section h3 {
  margin-top: 0;
  margin-bottom: 1.5rem;
  color: var(--mc-text-primary);
  font-size: 1.5rem;
}

 
.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
}

.portfolio-card {
  background: var(--mc-card-bg);
  border: 2px solid var(--mc-border);
  border-radius: 8px;
  padding: 1rem;
  cursor: pointer;
  transition: all 0.3s ease;
}

.portfolio-card:hover {
  border-color: var(--mc-primary-color);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.portfolio-card.selected {
  border-color: var(--mc-primary-color);
  background: var(--mc-card-selected-bg);
}

.portfolio-card.recommended:not(.selected) {
  border-color: var(--mc-border);
}

.portfolio-card.recommended .recommended-badge {
  background: var(--mc-primary-color);
  color: white;
  padding: 0.125rem 0.5rem;
  border-radius: 4px;
  font-size: 0.75rem;
  margin-left: 0.5rem;
}

.portfolio-header {
  display: flex;
  align-items: center;
  margin-bottom: 0.75rem;
}

.portfolio-header input[type="radio"] {
  display: none;
}

.portfolio-header label {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  flex: 1;
}

.badge {
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  background: var(--mc-border);
  color: var(--mc-text-primary);
  font-weight: 500;
}

.recommended-badge {
  background: var(--mc-primary-color);
  color: white;
}

.portfolio-desc {
  font-size: 0.875rem;
  color: var(--mc-text-secondary);
  margin-bottom: 0.5rem;
}

.portfolio-assets {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
  font-size: 0.875rem;
  color: var(--mc-text-primary);
}

.portfolio-assets li {
  margin: 0.25rem 0;
}

.portfolio-stats {
  display: flex;
  justify-content: space-between;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--mc-border);
  font-size: 0.75rem;
  color: var(--mc-text-secondary);
}

 
.input-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
}

.input-group {
  display: flex;
  flex-direction: column;
}

.input-group label {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: var(--mc-text-primary);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.help-text {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--mc-text-secondary);
}

.input-with-prefix,
.input-with-suffix {
  display: flex;
  align-items: center;
  background: var(--mc-input-bg);
  border: 1px solid var(--mc-input-border);
  border-radius: 6px;
  overflow: hidden;
}

.prefix,
.suffix {
  padding: 0.75rem;
  background: var(--mc-bg-secondary);
  color: var(--mc-text-secondary);
  font-weight: 600;
}

.input-with-prefix input,
.input-with-suffix input {
  flex: 1;
  border: none;
  padding: 0.75rem;
  font-size: 1rem;
}

input[type="number"],
select {
  padding: 0.75rem;
  border: 1px solid var(--mc-input-border);
  border-radius: 6px;
  font-size: 1rem;
  background: var(--mc-input-bg);
  color: var(--mc-text-primary);
}

input:focus,
select:focus {
  outline: none;
  border-color: var(--mc-primary-color);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

 
.toggle-advanced {
  background: none;
  border: none;
  color: var(--mc-primary-color);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  padding: 0.5rem 0;
  margin-bottom: 1rem;
  text-decoration: none !important;
}

.toggle-advanced span {
  text-decoration: none !important;
}

.toggle-advanced:hover {
  opacity: 0.8;
}

.arrow {
  transition: transform 0.3s ease;
}

.toggle-advanced.active .arrow {
  transform: rotate(180deg);
}

.toggle-advanced.active,
.toggle-advanced.active span,
.toggle-advanced .toggle-text {
  text-decoration: none !important;
}

.toggle-advanced.active .toggle-text {
  text-decoration: none !important;
}

.checkbox-group label {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}

.checkbox-group input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
  accent-color: var(--mc-primary-color);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 2px solid var(--mc-border);
  border-radius: 4px;
  background-color: var(--mc-bg);
  position: relative;
  transition: all 0.2s ease;
}

.checkbox-group input[type="checkbox"]:checked {
  background-color: var(--mc-primary-color);
  border-color: var(--mc-primary-color);
}

.checkbox-group input[type="checkbox"]:checked::after {
  content: '✓';
  position: absolute;
  color: white;
  font-size: 1rem;
  font-weight: bold;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.checkbox-group input[type="checkbox"]:focus {
  outline: 2px solid var(--mc-primary-color);
  outline-offset: 2px;
}

 
.btn-primary,
.btn-secondary {
  padding: 1rem 2rem;
  border: none;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.btn-primary {
  background: var(--mc-button-bg);
  color: var(--mc-button-text);
  width: 100%;
}

.btn-primary:hover:not(:disabled) {
  background: var(--mc-button-hover-bg);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-secondary {
  background: var(--mc-card-bg);
  color: var(--mc-text-primary);
  border: 1px solid var(--mc-input-border);
}

.btn-secondary:hover {
  background: var(--mc-bg-secondary);
}

.btn-large {
  font-size: 1.25rem;
  padding: 1.25rem 2.5rem;
}

 
.summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  margin-bottom: 2rem;
}

.summary-card {
  background: var(--mc-card-bg);
  border: 2px solid var(--mc-border);
  border-radius: 8px;
  padding: 1.5rem;
  text-align: center;
}

.summary-card.success {
  border-color: var(--mc-success-color);
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
}

.dark .summary-card.success {
  background: linear-gradient(135deg, #064e3b 0%, #065f46 100%);
}

.summary-card.warning {
  border-color: var(--mc-warning-color);
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}

.dark .summary-card.warning {
  background: linear-gradient(135deg, #78350f 0%, #92400e 100%);
}

.summary-card.info {
  border-color: var(--mc-primary-color);
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.dark .summary-card.info {
  background: linear-gradient(135deg, #1e3a8a 0%, #1e40af 100%);
}

.card-header {
  font-size: 0.875rem;
  color: var(--mc-text-secondary);
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.card-value {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--mc-text-primary);
  margin-bottom: 0.25rem;
}

.card-subtitle {
  font-size: 0.875rem;
  color: var(--mc-text-secondary);
}

 
.chart-container {
  background: white;
  border: 1px solid var(--color-neutral-200, #e5e7eb);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.chart-container h4 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  color: var(--color-neutral-800, #1f2937);
}

.chart-caption {
  margin: 0 0 1rem;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--mc-text-secondary);
}

.chart-caption strong {
  color: #8a6f2c;
  font-weight: 600;
}

.chart-container canvas {
  max-height: 500px !important;
  height: 500px !important;
}

 
.results-table {
  background: white;
  border: 1px solid var(--color-neutral-200, #e5e7eb);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
}

thead th {
  background: var(--color-neutral-100, #f3f4f6);
  padding: 0.75rem;
  text-align: left;
  font-weight: 600;
  color: var(--color-neutral-700, #374151);
  border-bottom: 2px solid var(--color-neutral-300, #d1d5db);
}

tbody td {
  padding: 0.75rem;
  border-bottom: 1px solid var(--color-neutral-200, #e5e7eb);
}

tbody tr:hover {
  background: var(--color-neutral-50, #f9fafb);
}

 
.risk-metrics {
  background: white;
  border: 1px solid var(--color-neutral-200, #e5e7eb);
  border-radius: 8px;
  padding: 1.5rem;
  margin-bottom: 1.5rem;
}

.metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
}

.metric-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.metric-label {
  font-size: 0.875rem;
  color: var(--color-neutral-600, #6b7280);
  font-weight: 500;
}

.metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-neutral-900, #111827);
}

 
.export-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}

 
.growth-context {
  background: var(--mc-bg-secondary);
  border-left: 3px solid var(--mc-primary-color);
  padding: 1rem 1.25rem;
  margin: 0 0 2rem;
  border-radius: 0 6px 6px 0;
  color: var(--mc-text-primary);
  font-size: 0.95rem;
  line-height: 1.55;
}

.growth-context strong {
  color: var(--mc-primary-color);
  font-weight: 700;
}

.growth-context em {
  color: var(--mc-text-secondary);
  font-style: italic;
}

 
.mc-methodology {
  margin-top: 2rem;
  border: 1px solid var(--mc-border);
  border-radius: 8px;
  background: var(--mc-card-bg);
  padding: 0.75rem 1rem;
}

.mc-methodology > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--mc-text-primary);
  padding: 0.25rem 0;
  list-style: none;
}

.mc-methodology > summary::-webkit-details-marker { display: none; }

.mc-methodology > summary::before {
  content: '▸';
  display: inline-block;
  margin-right: 0.5rem;
  transition: transform 0.2s ease;
  color: var(--mc-text-secondary);
}

.mc-methodology[open] > summary::before {
  transform: rotate(90deg);
}

.mc-methodology-body {
  padding-top: 0.75rem;
  font-size: 0.9rem;
  color: var(--mc-text-secondary);
  line-height: 1.55;
}

.mc-methodology-body h4 {
  color: var(--mc-text-primary);
  font-size: 0.95rem;
  margin: 1rem 0 0.5rem;
}

.mc-methodology-body h4:first-of-type { margin-top: 0; }

.mc-methodology-body ul {
  margin: 0 0 0.5rem 1.25rem;
  padding: 0;
}

.mc-methodology-body li {
  margin-bottom: 0.4rem;
}

.mc-methodology-body code {
  background: var(--mc-bg-secondary);
  padding: 0.05rem 0.35rem;
  border-radius: 3px;
  font-size: 0.85em;
}

.mc-methodology-note {
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  background: var(--mc-bg-secondary);
  border-left: 3px solid var(--mc-primary-color);
  border-radius: 0 4px 4px 0;
  font-style: italic;
}

 
@media (max-width: 768px) {
  .portfolio-grid {
    grid-template-columns: 1fr;
  }

  .input-grid {
    grid-template-columns: 1fr;
  }

  .summary-grid {
    grid-template-columns: 1fr;
  }

  .metrics-grid {
    grid-template-columns: 1fr;
  }
}

 
@media (prefers-color-scheme: dark) {
  .mc-header h2,
  .mc-section h3,
  .card-value,
  .metric-value {
    color: var(--color-neutral-100, #f3f4f6);
  }

  .mc-subtitle,
  .portfolio-desc,
  .card-subtitle,
  .metric-label {
    color: var(--color-neutral-400, #9ca3af);
  }

  .mc-section,
  .portfolio-card,
  .summary-card,
  .chart-container,
  .results-table,
  .risk-metrics {
    background: var(--color-neutral-800, #1f2937);
    border-color: var(--color-neutral-700, #374151);
  }

  input,
  select {
    background: var(--color-neutral-700, #374151);
    color: var(--color-neutral-100, #f3f4f6);
    border-color: var(--color-neutral-600, #4b5563);
  }
}
</style>


<script src="https://cdn.jsdelivr.net/npm/chart.js@4.4.1/dist/chart.umd.min.js"></script>


<script>
(function() {
  'use strict';

  
  const PORTFOLIOS = {
    1: {
      name: 'Dividend-Focused Portfolio',
      assets: {
        'VTI': {arithMean: 0.10, sd: 0.17, weight: 0.35, er: 0.0003},
        'SCHG': {arithMean: 0.105, sd: 0.18, weight: 0.15, er: 0.0004},
        'SCHD': {arithMean: 0.105, sd: 0.17, weight: 0.30, er: 0.0006},
        'SGOV': {arithMean: 0.04, sd: 0.02, weight: 0.20, er: 0.0009}
      },
      correlation: [
        [1.00, 0.90, 0.80, 0.10],
        [0.90, 1.00, 0.70, 0.10],
        [0.80, 0.70, 1.00, 0.15],
        [0.10, 0.10, 0.15, 1.00]
      ]
    },
    2: {
      name: 'Classic Three-Fund Bogleheads',
      assets: {
        'VTI': {arithMean: 0.10, sd: 0.17, weight: 0.54, er: 0.0003},
        'VXUS': {arithMean: 0.08, sd: 0.18, weight: 0.26, er: 0.0007},
        'BND': {arithMean: 0.04, sd: 0.045, weight: 0.20, er: 0.0003}
      },
      correlation: [
        [1.00, 0.85, 0.15],
        [0.85, 1.00, 0.10],
        [0.15, 0.10, 1.00]
      ]
    },
    3: {
      name: 'Golden Butterfly (All-Weather)',
      assets: {
        'VTI': {arithMean: 0.10, sd: 0.17, weight: 0.30, er: 0.0003},
        'VXUS': {arithMean: 0.08, sd: 0.18, weight: 0.10, er: 0.0007},
        'SHY': {arithMean: 0.025, sd: 0.01, weight: 0.20, er: 0.0015},
        'TLT': {arithMean: 0.05, sd: 0.12, weight: 0.20, er: 0.0015},
        'GLD': {arithMean: 0.045, sd: 0.16, weight: 0.20, er: 0.0040}
      },
      correlation: [
        [1.00, 0.85, 0.10, -0.05, 0.00],
        [0.85, 1.00, 0.10, -0.05, 0.00],
        [0.10, 0.10, 1.00, 0.40, 0.05],
        [-0.05, -0.05, 0.40, 1.00, 0.10],
        [0.00, 0.00, 0.05, 0.10, 1.00]
      ]
    },
    4: {
      name: 'Modern Bogleheads (TIPS & REITs)',
      assets: {
        'VTI': {arithMean: 0.10, sd: 0.17, weight: 0.40, er: 0.0003},
        'VXUS': {arithMean: 0.08, sd: 0.18, weight: 0.20, er: 0.0007},
        'VNQ': {arithMean: 0.09, sd: 0.23, weight: 0.10, er: 0.0012},
        'VTIP': {arithMean: 0.03, sd: 0.05, weight: 0.15, er: 0.0004},
        'BND': {arithMean: 0.04, sd: 0.045, weight: 0.15, er: 0.0003}
      },
      correlation: [
        [1.00, 0.85, 0.75, 0.10, 0.15],
        [0.85, 1.00, 0.70, 0.10, 0.10],
        [0.75, 0.70, 1.00, 0.20, 0.20],
        [0.10, 0.10, 0.20, 1.00, 0.70],
        [0.15, 0.10, 0.20, 0.70, 1.00]
      ]
    }
  };

  
  function arithmeticToGeometric(arithMean, sd) {
    return arithMean - (sd * sd) / 2;
  }

  function normalRandom() {
    
    let u = 0, v = 0;
    while(u === 0) u = Math.random();
    while(v === 0) v = Math.random();
    return Math.sqrt(-2.0 * Math.log(u)) * Math.cos(2.0 * Math.PI * v);
  }

  
  function studentTRandom(df) {
    
    const z = normalRandom();
    let chiSq = 0;
    for (let i = 0; i < df; i++) {
      const n = normalRandom();
      chiSq += n * n;
    }
    return z / Math.sqrt(chiSq / df);
  }

  function choleskyDecomposition(matrix) {
    const n = matrix.length;
    const L = Array(n).fill(0).map(() => Array(n).fill(0));

    for (let i = 0; i < n; i++) {
      for (let j = 0; j <= i; j++) {
        let sum = 0;
        for (let k = 0; k < j; k++) {
          sum += L[i][k] * L[j][k];
        }

        if (i === j) {
          L[i][j] = Math.sqrt(Math.max(0, matrix[i][i] - sum));
        } else {
          L[i][j] = (matrix[i][j] - sum) / (L[j][j] || 1);
        }
      }
    }

    return L;
  }

  function multiplyMatrixVector(matrix, vector) {
    return matrix.map(row =>
      row.reduce((sum, val, i) => sum + val * vector[i], 0)
    );
  }

  function percentile(arr, p) {
    const sorted = [...arr].sort((a, b) => a - b);
    const index = (p / 100) * (sorted.length - 1);
    const lower = Math.floor(index);
    const upper = Math.ceil(index);
    const weight = index % 1;

    if (lower === upper) return sorted[lower];
    return sorted[lower] * (1 - weight) + sorted[upper] * weight;
  }

  
  function runSimulation(params) {
    const portfolio = PORTFOLIOS[params.portfolioId];
    const assets = Object.values(portfolio.assets);
    const assetNames = Object.keys(portfolio.assets);
    const nAssets = assets.length;

    
    const weights = assets.map(a => a.weight);
    const geometricReturns = assets.map(a => arithmeticToGeometric(a.arithMean, a.sd));
    const stdDevs = assets.map(a => a.sd);
    const expenseRatios = assets.map(a => a.er);

    const blendedER = expenseRatios.reduce((sum, er, i) => sum + er * weights[i], 0);
    const totalFee = blendedER + params.advisorFee;
    const netReturns = geometricReturns.map(r => r - totalFee);

    
    const grossReturn = geometricReturns.reduce((sum, r, i) => sum + r * weights[i], 0);
    const portfolioNetReturn = netReturns.reduce((sum, r, i) => sum + r * weights[i], 0);

    
    
    
    
    
    
    const correlation = portfolio.correlation;
    const cholesky = choleskyDecomposition(correlation);

    
    const SP500_PROXY = {
      mean: arithmeticToGeometric(0.10, 0.16),
      sd: 0.16,
      er: 0.0003
    };
    const sp500MeanAfterFees = SP500_PROXY.mean - SP500_PROXY.er - params.advisorFee;

    
    const nMonths = params.years * 12;
    const DEPLETION_THRESHOLD = 1.0;
    const initialAnnualWithdrawal = params.initialValue * params.withdrawalRate;

    
    const finalValues = [];
    const finalSP500Values = [];
    const finalNoWithdrawalValues = []; 
    const annualValuesOverTime = [];
    const annualNoWithdrawalValuesOverTime = []; 
    const annualSP500ValuesOverTime = [];
    const annualWithdrawalsHistory = [];
    const maxDrawdowns = [];
    const sp500MaxDrawdowns = [];
    const pathSharpes = [];  
    const pathSortinos = []; 

    
    
    
    
    const SP500_VTI_CORR = 0.98;
    const SP500_INDEP_WEIGHT = Math.sqrt(1 - SP500_VTI_CORR * SP500_VTI_CORR);

    
    for (let sim = 0; sim < params.nSimulations; sim++) {
      let assetValues = weights.map(w => params.initialValue * w);
      let noWithdrawalAssetValues = weights.map(w => params.initialValue * w);
      let sp500Value = params.initialValue;
      const monthlyValues = [params.initialValue];
      const monthlyNoWithdrawalValues = [params.initialValue];
      const monthlySP500Values = [params.initialValue];
      const monthlyWithdrawals = [];
      const monthlySP500Withdrawals = [];
      const pathMonthlyReturns = []; 
      let maxValue = params.initialValue;
      let maxSP500Value = params.initialValue;
      let maxDD = 0;
      let maxSP500DD = 0;
      let lastYearSpending = initialAnnualWithdrawal;
      let lastYearSP500Spending = initialAnnualWithdrawal;
      let currentYearWithdrawal = initialAnnualWithdrawal;
      let currentYearSP500Withdrawal = initialAnnualWithdrawal;

      
      const monthlyNetReturns = netReturns.map(r => r / 12);
      const monthlyStdDevs = stdDevs.map(sd => sd / Math.sqrt(12));
      const monthlySP500Mean = sp500MeanAfterFees / 12;
      const monthlySP500Sd = SP500_PROXY.sd / Math.sqrt(12);

      
      for (let month = 0; month < nMonths; month++) {
        const yearIndex = Math.floor(month / 12);
        const monthInYear = month % 12;

        
        let monthlyReturns, monthlySP500Return;

        
        
        
        let vtiStandardizedZ;
        let tScale = 1;

        if (params.fatTails) {
          
          tScale = Math.sqrt(5 / (5 - 2));
          const z = Array(nAssets).fill(0).map(() => studentTRandom(5));
          const correlatedZ = multiplyMatrixVector(cholesky, z);
          monthlyReturns = correlatedZ.map((cz, i) => {
            const scaledZ = cz / tScale;
            return monthlyNetReturns[i] + scaledZ * monthlyStdDevs[i];
          });
          vtiStandardizedZ = correlatedZ[0] / tScale;

          const sp500IndepZ = studentTRandom(5) / tScale;
          const sp500Shock = SP500_VTI_CORR * vtiStandardizedZ
                           + SP500_INDEP_WEIGHT * sp500IndepZ;
          monthlySP500Return = monthlySP500Mean + sp500Shock * monthlySP500Sd;
        } else {
          
          const z = Array(nAssets).fill(0).map(() => normalRandom());
          const correlatedZ = multiplyMatrixVector(cholesky, z);
          monthlyReturns = correlatedZ.map((cz, i) => monthlyNetReturns[i] + cz * monthlyStdDevs[i]);
          vtiStandardizedZ = correlatedZ[0];

          const sp500IndepZ = normalRandom();
          const sp500Shock = SP500_VTI_CORR * vtiStandardizedZ
                           + SP500_INDEP_WEIGHT * sp500IndepZ;
          monthlySP500Return = monthlySP500Mean + sp500Shock * monthlySP500Sd;
        }

        
        
        
        const grossPortfolioReturn = monthlyReturns.reduce(
          (sum, r, i) => sum + r * weights[i], 0
        );
        pathMonthlyReturns.push(grossPortfolioReturn);

        
        
        
        
        
        monthlyReturns = monthlyReturns.map(r => Math.max(-1.0, Math.min(1.0, r)));
        monthlySP500Return = Math.max(-1.0, Math.min(1.0, monthlySP500Return));

        assetValues = assetValues.map((val, i) => val * Math.exp(monthlyReturns[i]));
        noWithdrawalAssetValues = noWithdrawalAssetValues.map(
          (val, i) => val * Math.exp(monthlyReturns[i])
        );
        sp500Value *= Math.exp(monthlySP500Return);

        let portfolioValue = assetValues.reduce((sum, val) => sum + val, 0);

        
        if (monthInYear === 0) {
          if (params.withdrawalStrategy === 'constant') {
            
            currentYearWithdrawal = initialAnnualWithdrawal * Math.pow(1 + params.inflation, yearIndex);
            currentYearSP500Withdrawal = currentYearWithdrawal;
          } else {
            
            if (yearIndex === 0) {
              currentYearWithdrawal = portfolioValue * params.withdrawalRate;
              currentYearSP500Withdrawal = sp500Value * params.withdrawalRate;
            } else {
              
              const rawSpending = portfolioValue * params.withdrawalRate;
              const inflationAdjustedLast = lastYearSpending * (1 + params.inflation);
              const floor = inflationAdjustedLast * (1 - params.dynamicFloor);
              const ceiling = inflationAdjustedLast * (1 + params.dynamicCeiling);
              currentYearWithdrawal = Math.max(floor, Math.min(ceiling, rawSpending));

              
              const rawSP500Spending = sp500Value * params.withdrawalRate;
              const inflationAdjustedLastSP500 = lastYearSP500Spending * (1 + params.inflation);
              const floorSP500 = inflationAdjustedLastSP500 * (1 - params.dynamicFloor);
              const ceilingSP500 = inflationAdjustedLastSP500 * (1 + params.dynamicCeiling);
              currentYearSP500Withdrawal = Math.max(floorSP500, Math.min(ceilingSP500, rawSP500Spending));
            }
            lastYearSpending = currentYearWithdrawal;
            lastYearSP500Spending = currentYearSP500Withdrawal;
          }
        }

        
        const monthlyWithdrawalAmount = currentYearWithdrawal / 12;
        const monthlySP500WithdrawalAmount = currentYearSP500Withdrawal / 12;

        const withdrawal = Math.min(monthlyWithdrawalAmount, portfolioValue);
        const sp500Withdrawal = Math.min(monthlySP500WithdrawalAmount, sp500Value);

        monthlyWithdrawals.push(withdrawal);
        monthlySP500Withdrawals.push(sp500Withdrawal);

        
        assetValues = assetValues.map((val, i) =>
          Math.max(0, val - withdrawal * weights[i])
        );
        sp500Value = Math.max(0, sp500Value - sp500Withdrawal);

        portfolioValue = assetValues.reduce((sum, val) => sum + val, 0);

        
        if (monthInYear === 11 && portfolioValue > 0) {
          assetValues = weights.map(w => portfolioValue * w);
        }
        
        
        
        if (monthInYear === 11) {
          const noWPV = noWithdrawalAssetValues.reduce((s, v) => s + v, 0);
          if (noWPV > 0) {
            noWithdrawalAssetValues = weights.map(w => noWPV * w);
          }
        }

        monthlyValues.push(portfolioValue);
        monthlyNoWithdrawalValues.push(
          noWithdrawalAssetValues.reduce((s, v) => s + v, 0)
        );
        monthlySP500Values.push(sp500Value);

        
        maxValue = Math.max(maxValue, portfolioValue);
        maxSP500Value = Math.max(maxSP500Value, sp500Value);
        const drawdown = maxValue > 0 ? (maxValue - portfolioValue) / maxValue : 0;
        const sp500Drawdown = maxSP500Value > 0 ? (maxSP500Value - sp500Value) / maxSP500Value : 0;
        maxDD = Math.max(maxDD, drawdown);
        maxSP500DD = Math.max(maxSP500DD, sp500Drawdown);
      }

      
      const annualValues = [params.initialValue];
      const annualNoWithdrawalValues = [params.initialValue];
      const annualSP500Values = [params.initialValue];
      const annualWithdrawals = [];

      for (let year = 0; year < params.years; year++) {
        const startMonth = year * 12;
        const endMonth = startMonth + 12;

        const yearWithdrawal = monthlyWithdrawals.slice(startMonth, endMonth)
          .reduce((sum, w) => sum + w, 0);
        annualWithdrawals.push(yearWithdrawal);

        annualValues.push(monthlyValues[endMonth]);
        annualNoWithdrawalValues.push(monthlyNoWithdrawalValues[endMonth]);
        annualSP500Values.push(monthlySP500Values[endMonth]);
      }

      const finalValue = monthlyValues[monthlyValues.length - 1];
      const finalSP500Value = monthlySP500Values[monthlySP500Values.length - 1];

      finalValues.push(finalValue);
      finalSP500Values.push(finalSP500Value);
      finalNoWithdrawalValues.push(
        noWithdrawalAssetValues.reduce((s, v) => s + v, 0)
      );
      annualValuesOverTime.push(annualValues);
      annualNoWithdrawalValuesOverTime.push(annualNoWithdrawalValues);
      annualSP500ValuesOverTime.push(annualSP500Values);
      annualWithdrawalsHistory.push(annualWithdrawals);
      maxDrawdowns.push(maxDD);
      sp500MaxDrawdowns.push(maxSP500DD);

      
      
      
      
      const monthlyRf = 0.03 / 12;
      const n = pathMonthlyReturns.length;
      const mMean = pathMonthlyReturns.reduce((a, b) => a + b, 0) / n;
      const mVar = pathMonthlyReturns.reduce((s, r) => s + (r - mMean) ** 2, 0) / n;
      const mStd = Math.sqrt(mVar);
      const annualizedExcess = (mMean - monthlyRf) * 12;
      const annualizedStd = mStd * Math.sqrt(12);
      pathSharpes.push(annualizedStd > 0 ? annualizedExcess / annualizedStd : 0);

      
      const downs = pathMonthlyReturns
        .map(r => r - monthlyRf)
        .filter(d => d < 0);
      const downVar = downs.reduce((s, d) => s + d * d, 0) / n; 
      const downStd = Math.sqrt(downVar) * Math.sqrt(12);
      pathSortinos.push(downStd > 0 ? annualizedExcess / downStd : Infinity);
    }

    
    const inflationAdjustor = Math.pow(1 + params.inflation, params.years);
    const finalRealValues = finalValues.map(v => v / inflationAdjustor);
    const finalSP500RealValues = finalSP500Values.map(v => v / inflationAdjustor);

    
    const sharpeRatio = pathSharpes.reduce((a, b) => a + b, 0) / pathSharpes.length;
    const finiteSortinos = pathSortinos.filter(s => Number.isFinite(s));
    const sortinoRatio = finiteSortinos.length > 0
      ? finiteSortinos.reduce((a, b) => a + b, 0) / finiteSortinos.length
      : Infinity;

    
    const sp500MedianNominal = percentile(finalSP500Values, 50);
    const sp500MedianReal = percentile(finalSP500RealValues, 50);
    const probBeatSP500Nominal = finalValues.filter((v, i) => v > finalSP500Values[i]).length / finalValues.length;
    const probBeatSP500Real = finalRealValues.filter((v, i) => v > finalSP500RealValues[i]).length / finalRealValues.length;

    
    const goals = [1_500_000, 2_000_000, 3_000_000, 5_000_000, 10_000_000];
    const goalProbabilities = {};
    goals.forEach(goal => {
      goalProbabilities[goal] = finalValues.filter(v => v >= goal).length / finalValues.length;
    });

    
    const feeImpact = Math.pow(1 + grossReturn, params.years) / Math.pow(1 + portfolioNetReturn, params.years) - 1;
    const feeCost = params.initialValue * feeImpact;

    const noWithdrawalMedian = percentile(finalNoWithdrawalValues, 50);
    const noWithdrawalMedianReal = noWithdrawalMedian / inflationAdjustor;
    const withdrawalCostMedian = noWithdrawalMedian - percentile(finalValues, 50);
    const withdrawalCostMedianReal = withdrawalCostMedian / inflationAdjustor;

    const results = {
      median: percentile(finalValues, 50),
      p5: percentile(finalValues, 5),
      p95: percentile(finalValues, 95),
      mean: finalValues.reduce((a, b) => a + b, 0) / finalValues.length,

      noWithdrawalMedian: noWithdrawalMedian,
      noWithdrawalMedianReal: noWithdrawalMedianReal,
      withdrawalCostMedian: withdrawalCostMedian,
      withdrawalCostMedianReal: withdrawalCostMedianReal,

      medianReal: percentile(finalRealValues, 50),
      p5Real: percentile(finalRealValues, 5),
      p95Real: percentile(finalRealValues, 95),
      meanReal: finalRealValues.reduce((a, b) => a + b, 0) / finalRealValues.length,

      depletionProb: finalValues.filter(v => v < DEPLETION_THRESHOLD).length / finalValues.length,

      medianDrawdown: percentile(maxDrawdowns, 50),
      worstDrawdown: percentile(maxDrawdowns, 95),

      sharpeRatio: sharpeRatio,
      sortinoRatio: sortinoRatio,

      
      sp500MedianNominal: sp500MedianNominal,
      sp500MedianReal: sp500MedianReal,
      sp500MedianDrawdown: percentile(sp500MaxDrawdowns, 50),
      probBeatSP500Nominal: probBeatSP500Nominal,
      probBeatSP500Real: probBeatSP500Real,

      
      blendedER: blendedER,
      totalFee: totalFee,
      grossReturn: grossReturn,
      portfolioNetReturn: portfolioNetReturn,
      feeImpact: feeImpact,
      feeCost: feeCost,

      
      goalProbabilities: goalProbabilities,

      valuesOverTime: annualValuesOverTime,
      noWithdrawalValuesOverTime: annualNoWithdrawalValuesOverTime,
      sp500ValuesOverTime: annualSP500ValuesOverTime,
      withdrawalsHistory: annualWithdrawalsHistory,
      finalValues: finalValues,
      finalRealValues: finalRealValues,

      portfolioName: portfolio.name
    };

    return results;
  }

  
  
  
  function computePortfolioGeoReturn(portfolio) {
    const a = Object.values(portfolio.assets);
    const w = a.map(x => x.weight);
    const sd = a.map(x => x.sd);
    const mu = a.map(x => x.arithMean);
    const corr = portfolio.correlation;

    const portArith = mu.reduce((s, m, i) => s + m * w[i], 0);
    let portVar = 0;
    for (let i = 0; i < a.length; i++) {
      for (let j = 0; j < a.length; j++) {
        portVar += w[i] * w[j] * sd[i] * sd[j] * corr[i][j];
      }
    }
    return portArith - portVar / 2;
  }

  
  const UI = {
    init() {
      this.renderExpectedReturns();
      this.bindEvents();
    },

    renderExpectedReturns() {
      document.querySelectorAll('.exp-return-label').forEach(el => {
        const id = parseInt(el.dataset.portfolio);
        const p = PORTFOLIOS[id];
        if (!p) return;
        const geo = computePortfolioGeoReturn(p);
        el.textContent = `Exp Return: ${(geo * 100).toFixed(1)}%`;
      });
    },

    bindEvents() {
      
      document.querySelectorAll('.portfolio-card').forEach(card => {
        card.addEventListener('click', (e) => {
          
          if (e.target.tagName === 'INPUT' || e.target.tagName === 'LABEL') {
            return;
          }

          const radio = card.querySelector('input[type="radio"]');
          if (radio) {
            radio.checked = true;
            
            radio.dispatchEvent(new Event('change'));
          }
        });
      });

      
      document.querySelectorAll('input[name="portfolio"]').forEach(radio => {
        radio.addEventListener('change', (e) => {
          document.querySelectorAll('.portfolio-card').forEach(c => {
            c.classList.remove('selected');
          });
          if (e.target.checked) {
            e.target.closest('.portfolio-card').classList.add('selected');
          }
        });
      });

      
      const checkedRadio = document.querySelector('input[name="portfolio"]:checked');
      if (checkedRadio) {
        checkedRadio.closest('.portfolio-card').classList.add('selected');
      }

      
      const toggleBtn = document.getElementById('toggle-advanced');
      const advancedContent = document.getElementById('advanced-content');
      toggleBtn.addEventListener('click', () => {
        const isVisible = advancedContent.style.display !== 'none';
        advancedContent.style.display = isVisible ? 'none' : 'block';
        toggleBtn.classList.toggle('active', !isVisible);
      });

      
      const withdrawalStrategySelect = document.getElementById('withdrawal-strategy');
      const dynamicFloorGroup = document.getElementById('dynamic-floor-group');
      const dynamicCeilingGroup = document.getElementById('dynamic-ceiling-group');

      withdrawalStrategySelect.addEventListener('change', (e) => {
        const isDynamic = e.target.value === 'dynamic';
        dynamicFloorGroup.style.display = isDynamic ? 'block' : 'none';
        dynamicCeilingGroup.style.display = isDynamic ? 'block' : 'none';

        
        if (isDynamic && advancedContent.style.display === 'none') {
          advancedContent.style.display = 'block';
          toggleBtn.classList.add('active');
        }
      });

      
      document.getElementById('run-simulation').addEventListener('click', () => {
        this.runSimulation();
      });

      
      document.getElementById('export-csv').addEventListener('click', () => {
        this.exportCSV();
      });

      document.getElementById('copy-results').addEventListener('click', () => {
        this.copyResults();
      });
    },

    getParams() {
      const selectedPortfolio = document.querySelector('input[name="portfolio"]:checked');
      if (!selectedPortfolio) {
        throw new Error('Please select a portfolio before running the simulation');
      }

      const withdrawalStrategy = document.getElementById('withdrawal-strategy')?.value || 'constant';
      const isDynamic = withdrawalStrategy === 'dynamic';

      
      
      const num = (id, divisor = 1) => {
        const raw = document.getElementById(id)?.value;
        const v = parseFloat(raw);
        return Number.isFinite(v) ? v / divisor : null;
      };
      const intNum = (id) => {
        const v = parseInt(document.getElementById(id)?.value);
        return Number.isFinite(v) ? v : null;
      };

      const params = {
        portfolioId: parseInt(selectedPortfolio.value),
        initialValue: num('initial-value') ?? 1000000,
        withdrawalRate: num('withdrawal-rate', 100) ?? 0.04,
        withdrawalStrategy: withdrawalStrategy,
        years: intNum('years') ?? 30,
        advisorFee: num('advisor-fee', 100) ?? 0,
        nSimulations: intNum('simulations') ?? 10000,
        inflation: num('inflation', 100) ?? 0.025,
        fatTails: document.getElementById('fat-tails')?.checked ?? false,
        dynamicFloor: isDynamic ? (num('dynamic-floor', 100) ?? 0.025) : 0,
        dynamicCeiling: isDynamic ? (num('dynamic-ceiling', 100) ?? 0.05) : 0
      };

      
      if (isNaN(params.portfolioId) || isNaN(params.initialValue) || isNaN(params.withdrawalRate)) {
        console.error('Invalid params:', params);
        throw new Error('Invalid input values detected');
      }

      return params;
    },

    async runSimulation() {
      const btn = document.getElementById('run-simulation');
      const btnText = btn.querySelector('.btn-text');
      const btnLoading = btn.querySelector('.btn-loading');

      try {
        btn.disabled = true;
        btnText.style.display = 'none';
        btnLoading.style.display = 'inline';

        
        await new Promise(resolve => setTimeout(resolve, 100));

        const params = this.getParams();
        const results = runSimulation(params);

        this.displayResults(results, params);

        
        document.getElementById('results-section').scrollIntoView({ behavior: 'smooth' });
      } catch (error) {
        console.error('Simulation error:', error);
        alert('Error running simulation: ' + error.message + '\n\nPlease check that you have selected a portfolio and all inputs are valid.\n\nCheck browser console (F12) for details.');
      } finally {
        btn.disabled = false;
        btnText.style.display = 'inline';
        btnLoading.style.display = 'none';
      }
    },

    displayResults(results, params) {
      
      document.getElementById('results-section').style.display = 'block';

      
      this.updateCard('median-value', results.median);
      this.updateCard('median-real', results.medianReal, true);
      this.updateCard('p5-value', results.p5);
      this.updateCard('p5-real', results.p5Real, true);
      this.updateCard('p95-value', results.p95);
      this.updateCard('p95-real', results.p95Real, true);

      
      document.getElementById('no-wd-median').textContent =
        this.formatCurrency(results.noWithdrawalMedian);
      document.getElementById('no-wd-median-real').textContent =
        this.formatCurrency(results.noWithdrawalMedianReal) + ' real';
      document.getElementById('wd-cost').textContent =
        this.formatCurrency(results.withdrawalCostMedian);

      
      const depletionCard = document.getElementById('depletion-card');
      const depletionProb = document.getElementById('depletion-prob');
      depletionProb.textContent = (results.depletionProb * 100).toFixed(1) + '%';

      if (results.depletionProb === 0) {
        depletionCard.classList.add('success');
        depletionCard.classList.remove('warning');
      } else if (results.depletionProb < 0.05) {
        depletionCard.classList.add('info');
        depletionCard.classList.remove('warning', 'success');
      } else {
        depletionCard.classList.add('warning');
        depletionCard.classList.remove('success', 'info');
      }

      
      this.updateTable(results, params);

      
      document.getElementById('median-drawdown').textContent =
        (results.medianDrawdown * 100).toFixed(1) + '%';
      document.getElementById('worst-drawdown').textContent =
        (results.worstDrawdown * 100).toFixed(1) + '%';
      document.getElementById('sharpe-ratio').textContent = results.sharpeRatio.toFixed(2);
      document.getElementById('sortino-ratio').textContent =
        isFinite(results.sortinoRatio) ? results.sortinoRatio.toFixed(2) : '∞';

      
      document.getElementById('sp500-median').textContent = this.formatCurrency(results.sp500MedianNominal);
      document.getElementById('sp500-median-real').textContent = this.formatCurrency(results.sp500MedianReal);
      document.getElementById('beat-sp500').textContent = (results.probBeatSP500Nominal * 100).toFixed(1) + '%';
      document.getElementById('beat-sp500-real').textContent = (results.probBeatSP500Real * 100).toFixed(1) + '%';

      
      document.getElementById('blended-er').textContent = (results.blendedER * 100).toFixed(4) + '%';
      document.getElementById('total-fee').textContent = (results.totalFee * 100).toFixed(4) + '%';
      document.getElementById('fee-drag').textContent = (results.feeImpact * 100).toFixed(1) + '%';
      document.getElementById('fee-cost').textContent = this.formatCurrency(results.feeCost);

      
      document.getElementById('goal-1500000').textContent =
        (results.goalProbabilities[1_500_000] * 100).toFixed(1) + '%';
      document.getElementById('goal-2000000').textContent =
        (results.goalProbabilities[2_000_000] * 100).toFixed(1) + '%';
      document.getElementById('goal-3000000').textContent =
        (results.goalProbabilities[3_000_000] * 100).toFixed(1) + '%';
      document.getElementById('goal-5000000').textContent =
        (results.goalProbabilities[5_000_000] * 100).toFixed(1) + '%';
      document.getElementById('goal-10000000').textContent =
        (results.goalProbabilities[10_000_000] * 100).toFixed(1) + '%';

      
      this.updateWithdrawalTables(results, params);

      
      this.drawCharts(results, params);

      
      this.currentResults = results;
      this.currentParams = params;
    },

    updateCard(id, value, isSubtitle = false) {
      const el = document.getElementById(id);
      if (isSubtitle) {
        el.textContent = this.formatCurrency(value) + ' real';
      } else {
        el.textContent = this.formatCurrency(value);
      }
    },

    formatCurrency(value) {
      return '$' + value.toLocaleString('en-US', {
        maximumFractionDigits: 0
      });
    },

    updateTable(results, params) {
      const tbody = document.getElementById('results-table-body');
      tbody.innerHTML = '';

      const rows = [
        ['Average Ending Value', results.mean, results.meanReal],
        ['Median Ending Value', results.median, results.medianReal],
        ['5th Percentile', results.p5, results.p5Real],
        ['95th Percentile', results.p95, results.p95Real]
      ];

      rows.forEach(([metric, nominal, real]) => {
        const tr = document.createElement('tr');
        tr.innerHTML = `
          <td>${metric}</td>
          <td>${this.formatCurrency(nominal)}</td>
          <td>${this.formatCurrency(real)}</td>
        `;
        tbody.appendChild(tr);
      });
    },

    updateWithdrawalTables(results, params) {
      
      const nYears = params.years;
      const withdrawalStats = [];

      for (let year = 0; year < nYears; year++) {
        const withdrawalsAtYear = results.withdrawalsHistory.map(path => path[year]);
        withdrawalStats.push({
          year: year + 1,
          average: withdrawalsAtYear.reduce((a, b) => a + b, 0) / withdrawalsAtYear.length,
          median: percentile(withdrawalsAtYear, 50),
          p5: percentile(withdrawalsAtYear, 5),
          p95: percentile(withdrawalsAtYear, 95)
        });
      }

      
      const firstTableBody = document.getElementById('withdrawal-table-first');
      firstTableBody.innerHTML = '';
      const first10 = withdrawalStats.slice(0, Math.min(10, nYears));

      first10.forEach(stat => {
        const tr = document.createElement('tr');
        tr.innerHTML = `
          <td>${stat.year}</td>
          <td>${this.formatCurrency(stat.average)}</td>
          <td>${this.formatCurrency(stat.median)}</td>
          <td>${this.formatCurrency(stat.p5)}</td>
          <td>${this.formatCurrency(stat.p95)}</td>
        `;
        firstTableBody.appendChild(tr);
      });

      
      const lastTableBody = document.getElementById('withdrawal-table-last');
      lastTableBody.innerHTML = '';
      const last10 = withdrawalStats.slice(Math.max(0, nYears - 10));

      last10.forEach(stat => {
        const tr = document.createElement('tr');
        tr.innerHTML = `
          <td>${stat.year}</td>
          <td>${this.formatCurrency(stat.average)}</td>
          <td>${this.formatCurrency(stat.median)}</td>
          <td>${this.formatCurrency(stat.p5)}</td>
          <td>${this.formatCurrency(stat.p95)}</td>
        `;
        lastTableBody.appendChild(tr);
      });
    },

    drawCharts(results, params) {
      this.drawGrowthChart(results, params);
      this.drawDistributionChart(results);
    },

    drawGrowthChart(results, params) {
      const ctx = document.getElementById('growth-chart');

      
      const years = Array.from({length: params.years + 1}, (_, i) => i);
      const p5OverTime = [];
      const p50OverTime = [];
      const p95OverTime = [];
      const noWdMedianOverTime = []; 

      for (let year = 0; year <= params.years; year++) {
        const valuesAtYear = results.valuesOverTime.map(path => path[year]);
        p5OverTime.push(percentile(valuesAtYear, 5));
        p50OverTime.push(percentile(valuesAtYear, 50));
        p95OverTime.push(percentile(valuesAtYear, 95));

        const noWdAtYear = results.noWithdrawalValuesOverTime.map(path => path[year]);
        noWdMedianOverTime.push(percentile(noWdAtYear, 50));
      }

      if (this.growthChart) {
        this.growthChart.destroy();
      }

      this.growthChart = new Chart(ctx, {
        type: 'line',
        data: {
          labels: years,
          datasets: [
            {
              label: 'Median, no withdrawals',
              data: noWdMedianOverTime,
              borderColor: 'rgba(184, 146, 58, 0.85)',  
              backgroundColor: 'rgba(184, 146, 58, 0)',
              borderWidth: 2,
              borderDash: [8, 6],
              pointRadius: 0,
              fill: false,
              tension: 0.15
            },
            {
              label: '95th Percentile',
              data: p95OverTime,
              borderColor: 'rgba(59, 130, 246, 0.8)',
              backgroundColor: 'rgba(59, 130, 246, 0.1)',
              fill: '+1'
            },
            {
              label: 'Median (50th)',
              data: p50OverTime,
              borderColor: 'rgba(16, 185, 129, 0.8)',
              backgroundColor: 'rgba(16, 185, 129, 0.1)',
              borderWidth: 3,
              fill: '+1'
            },
            {
              label: '5th Percentile',
              data: p5OverTime,
              borderColor: 'rgba(245, 158, 11, 0.8)',
              backgroundColor: 'rgba(245, 158, 11, 0.1)',
              fill: false
            }
          ]
        },
        options: {
          responsive: true,
          maintainAspectRatio: false,
          plugins: {
            legend: {
              position: 'top',
            },
            tooltip: {
              callbacks: {
                label: (context) => {
                  return context.dataset.label + ': ' +
                    this.formatCurrency(context.parsed.y);
                }
              }
            }
          },
          scales: {
            y: {
              beginAtZero: true,
              ticks: {
                callback: (value) => this.formatCurrency(value)
              }
            },
            x: {
              title: {
                display: true,
                text: 'Years'
              }
            }
          }
        }
      });
    },

    drawDistributionChart(results) {
      const ctx = document.getElementById('distribution-chart');

      
      const bins = 30;
      const min = Math.min(...results.finalValues);
      const max = Math.max(...results.finalValues);
      const binSize = (max - min) / bins;
      const histogram = Array(bins).fill(0);

      results.finalValues.forEach(value => {
        const binIndex = Math.min(Math.floor((value - min) / binSize), bins - 1);
        histogram[binIndex]++;
      });

      const labels = Array(bins).fill(0).map((_, i) =>
        this.formatCurrency(min + (i + 0.5) * binSize)
      );

      if (this.distributionChart) {
        this.distributionChart.destroy();
      }

      this.distributionChart = new Chart(ctx, {
        type: 'bar',
        data: {
          labels: labels,
          datasets: [{
            label: 'Frequency',
            data: histogram,
            backgroundColor: 'rgba(16, 185, 129, 0.6)',
            borderColor: 'rgba(16, 185, 129, 1)',
            borderWidth: 1
          }]
        },
        options: {
          responsive: true,
          maintainAspectRatio: false,
          plugins: {
            legend: {
              display: false
            }
          },
          scales: {
            y: {
              beginAtZero: true,
              title: {
                display: true,
                text: 'Number of Simulations'
              }
            },
            x: {
              title: {
                display: true,
                text: 'Final Portfolio Value'
              },
              ticks: {
                maxRotation: 45,
                minRotation: 45
              }
            }
          }
        }
      });
    },

    exportCSV() {
      if (!this.currentResults) return;

      const results = this.currentResults;
      const params = this.currentParams;

      let csv = 'Monte Carlo Retirement Simulation Results\n\n';
      csv += `Portfolio,${results.portfolioName}\n`;
      csv += `Initial Value,$${params.initialValue.toLocaleString()}\n`;
      csv += `Withdrawal Rate,${(params.withdrawalRate * 100).toFixed(1)}%\n`;
      csv += `Years,${params.years}\n`;
      csv += `Simulations,${params.nSimulations.toLocaleString()}\n\n`;

      csv += 'Metric,Nominal Value,Real Value\n';
      csv += `Median,${results.median.toFixed(0)},${results.medianReal.toFixed(0)}\n`;
      csv += `5th Percentile,${results.p5.toFixed(0)},${results.p5Real.toFixed(0)}\n`;
      csv += `95th Percentile,${results.p95.toFixed(0)},${results.p95Real.toFixed(0)}\n`;
      csv += `Mean,${results.mean.toFixed(0)},${results.meanReal.toFixed(0)}\n`;
      csv += `Depletion Probability,${(results.depletionProb * 100).toFixed(2)}%\n`;
      csv += `Median Max Drawdown,${(results.medianDrawdown * 100).toFixed(1)}%\n`;

      const blob = new Blob([csv], { type: 'text/csv' });
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = 'monte-carlo-results.csv';
      a.click();
    },

    copyResults() {
      if (!this.currentResults) return;

      const results = this.currentResults;
      const params = this.currentParams;

      let text = `Monte Carlo Retirement Simulation Results\n\n`;
      text += `Portfolio: ${results.portfolioName}\n`;
      text += `Initial Value: $${params.initialValue.toLocaleString()}\n`;
      text += `Withdrawal Rate: ${(params.withdrawalRate * 100).toFixed(1)}%\n\n`;
      text += `Median Ending: ${this.formatCurrency(results.median)} (${this.formatCurrency(results.medianReal)} real)\n`;
      text += `5th Percentile: ${this.formatCurrency(results.p5)} (${this.formatCurrency(results.p5Real)} real)\n`;
      text += `95th Percentile: ${this.formatCurrency(results.p95)} (${this.formatCurrency(results.p95Real)} real)\n`;
      text += `Depletion Risk: ${(results.depletionProb * 100).toFixed(1)}%\n`;

      navigator.clipboard.writeText(text).then(() => {
        alert('Results copied to clipboard!');
      });
    }
  };

  
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', () => UI.init());
  } else {
    UI.init();
  }
})();
</script>

<hr>

<h2 class="relative group">How to Use This Calculator
    <div id="how-to-use-this-calculator" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-use-this-calculator" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">Step 1: Choose Your Portfolio
    <div id="step-1-choose-your-portfolio" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-1-choose-your-portfolio" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Select from four professionally designed portfolios:</p>
<table>
	<thead>
			<tr>
					<th>Portfolio</th>
					<th>Best For</th>
					<th>Expected Geometric Return</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Dividend-Focused</strong></td>
					<td>Income seekers, US-focused investors</td>
					<td>8.2%</td>
			</tr>
			<tr>
					<td><strong>Three-Fund Bogleheads</strong></td>
					<td>Most investors (lowest fees, global diversification)</td>
					<td>7.4%</td>
			</tr>
			<tr>
					<td><strong>Golden Butterfly</strong></td>
					<td>Conservative investors worried about crashes</td>
					<td>5.9%</td>
			</tr>
			<tr>
					<td><strong>Modern Bogleheads</strong></td>
					<td>Inflation-conscious investors</td>
					<td>6.8%</td>
			</tr>
	</tbody>
</table>
<p>Returns are computed directly from each portfolio's asset assumptions and full covariance matrix using the portfolio-level Itô correction (μ minus half the portfolio variance). The calculator renders the same numbers live on each card.</p>

<h3 class="relative group">Step 2: Set Your Withdrawal Rate
    <div id="step-2-set-your-withdrawal-rate" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-2-set-your-withdrawal-rate" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>This determines how much you withdraw annually. The calculator supports two strategies:</p>
<p><strong>Constant Dollar (Traditional):</strong> Fixed inflation-adjusted withdrawals regardless of portfolio value. Simple but rigid.</p>
<p><strong>Dynamic Spending (Vanguard):</strong> Withdrawals adjust based on portfolio performance with floor/ceiling bounds. More sustainable for aggressive rates.</p>
<p><strong>Quick guide:</strong></p>
<ul>
<li>2.5-3.0% = Very conservative (50-year horizons)</li>
<li>3.0-3.5% = Moderate (40-year horizons)</li>
<li>4.0%+ = Aggressive (30-year horizons or with flexibility)</li>
</ul>

<h3 class="relative group">Step 3: Set Duration
    <div id="step-3-set-duration" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-3-set-duration" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Enter years until age 100 (or your planning horizon). Add 5-10 years as a buffer.</p>

<h3 class="relative group">Step 4: Add Fees (Optional)
    <div id="step-4-add-fees-optional" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-4-add-fees-optional" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Beyond ETF expense ratios, add any advisor or platform fees:</p>
<ul>
<li><strong>0.00%</strong> - DIY at Vanguard/Fidelity/Schwab</li>
<li><strong>0.25%</strong> - Robo-advisors</li>
<li><strong>1.00%</strong> - Traditional advisor (costs ~39% of wealth over 50 years!)</li>
</ul>

<h3 class="relative group">Step 5: Run Simulation
    <div id="step-5-run-simulation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-5-run-simulation" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Click <strong>Run Simulation</strong> and wait 2-10 seconds. The default run is 10,000 scenarios. For tighter percentiles bump to 50,000 or 100,000 from Advanced Options (slower, more accurate).</p>
<hr>

<h2 class="relative group">Understanding Your Results
    <div id="understanding-your-results" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#understanding-your-results" aria-label="Anchor">#</a>
    </span>
    
</h2>
<table>
	<thead>
			<tr>
					<th>Metric</th>
					<th>What It Means</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Median Outcome</strong></td>
					<td>Most likely result (50th percentile)</td>
			</tr>
			<tr>
					<td><strong>5th Percentile</strong></td>
					<td>Your safety net. Plan around this number, not the median.</td>
			</tr>
			<tr>
					<td><strong>Depletion Risk</strong></td>
					<td>Probability of running out of money</td>
			</tr>
			<tr>
					<td><strong>Sharpe/Sortino Ratio</strong></td>
					<td>Risk-adjusted return (higher = better). Computed per simulation path from gross monthly returns, then averaged across paths.</td>
			</tr>
			<tr>
					<td><strong>Growth potential context</strong></td>
					<td>A sentence under the cards shows your median outcome <strong>without withdrawals</strong> and how much spending cost you in compound growth. Anchors the magnitude of the headline numbers.</td>
			</tr>
			<tr>
					<td><strong>Growth chart, dashed brass line</strong></td>
					<td>The median path of a parallel portfolio that compounds with the same market shocks but never withdraws. The gap between it and the solid green median is the real, year-by-year cost of your retirement spending.</td>
			</tr>
			<tr>
					<td><strong>Max Drawdown</strong></td>
					<td>Worst peak-to-trough decline. Includes the withdrawal effect, so retirement runs naturally show larger drawdowns than markets alone.</td>
			</tr>
	</tbody>
</table>
<p><strong>Depletion risk guidelines:</strong></p>
<ul>
<li>0-5% = Very safe</li>
<li>5-10% = Acceptable</li>
<li>10%+ = Consider reducing withdrawal rate</li>
</ul>
<hr>

<h2 class="relative group">Advanced Options
    <div id="advanced-options" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#advanced-options" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p><strong>Fat-Tail Mode:</strong> Layers a Student's t-distribution (df=5) on top of the default log-normal compounding to model extreme events (crashes and booms) more realistically than the bell curve alone. Recommended for conservative planning. If your plan survives fat-tail mode at a punishing withdrawal rate, your plan is genuinely robust.</p>
<p><strong>Dynamic Spending Bounds:</strong> Adjust floor (-2.5% default) and ceiling (+5% default) to control withdrawal variability.</p>
<hr>

<h2 class="relative group">Privacy &amp; Accuracy
    <div id="privacy--accuracy" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#privacy--accuracy" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>All calculations run in your browser. No data is collected or stored.</p>
<p>The engine is professional-grade:</p>
<ul>
<li><strong>Monthly Geometric Brownian Motion</strong> per asset. Returns compound via <code>value × exp(r)</code>, so portfolios mathematically cannot fall below zero.</li>
<li><strong>Cholesky-decomposed correlation matrix</strong> drives correlated monthly shocks across the assets in the chosen portfolio.</li>
<li><strong>Fat-tail mode</strong> swaps the Normal driver for a variance-corrected Student's t-distribution (df=5).</li>
<li><strong>Annual rebalance</strong> at year-end. Withdrawals are taken at target weights (this has a monthly partial-rebalance side effect, disclosed in the methodology box inside the calculator).</li>
<li><strong>Sharpe and Sortino</strong> are computed per simulation path from monthly gross portfolio returns, then averaged across paths. That's the textbook formulation, not a cross-path outcome-dispersion proxy.</li>
<li><strong>S&amp;P 500 comparison</strong> shares VTI's correlated monthly shock (empirical correlation 0.98). The &quot;probability of beating the S&amp;P&quot; is therefore measured in the same market state, not in two parallel universes.</li>
<li><strong>Expected return labels</strong> on each portfolio card are derived directly from the asset assumptions plus the full covariance matrix, not hardcoded marketing numbers.</li>
<li><strong>Parallel no-withdrawal portfolio</strong> runs alongside the main simulation using the same Cholesky-correlated monthly shocks. Its median terminal value (and its full annual path on the chart) anchors the cost of your spending. If your median outcome is $16M and the no-withdrawal median is $40M, withdrawals cost you $24M of compound growth. The dashed brass line on the growth chart is that parallel portfolio's median path over time.</li>
</ul>
<p>Open the <strong>Methodology and assumptions</strong> disclosure inside the calculator for the full set of caveats (no taxes, no cash buffer, historical correlations, the drawdown-includes-withdrawals convention).</p>
<hr>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #0f5132"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span>
  </span>

  <span
    
      style="color: #ffffff"
    
    ><strong>Ready to dive deeper?</strong> Our <strong><a href="/posts/monte-carlo-simulation-retirement-planning/" >Complete Guide to Monte Carlo Retirement Planning</a></strong> explains sequence of returns risk, the 4% rule limitations, and how to build safety margins into your plan.</span>
</div>


  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This calculator reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/monte-carlo-retirement-calculator.webp" medium="image"/></item><item><title>How Much Do You Need Invested for Passive Income? The SWR Approach</title><link>https://libreleo.com/posts/swr-passive-income-investment-required/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://libreleo.com/posts/swr-passive-income-investment-required/</guid><description>Calculate exactly how much you need invested to generate your target monthly passive income using Safe Withdrawal Rate principles. A practical guide with examples.</description><content:encoded><![CDATA[<div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
  Ever wondered exactly how much money you'd need invested to quit your job and live off passive income?
</div>

<p>In this post, I'll show you how to calculate your &quot;freedom number&quot; using Safe Withdrawal Rate (SWR) principles. You'll learn why different SWR rates dramatically change your required investment, and how to pick the right rate for your situation.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Tip
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>Try the Calculator:</strong> Want to see your numbers instantly? Use my free <a href="/calculators/swr-passive-income-calculator/" >SWR Passive Income Calculator</a></p></div></div><hr>

<h2 class="relative group">The simple formula behind passive income
    <div id="the-simple-formula-behind-passive-income" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-simple-formula-behind-passive-income" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The calculation for how much you need invested is straightforward:</p>


$$\text{Investment Required} = \frac{\text{Annual Income Goal}}{\text{SWR Rate}}$$<p>Take your annual income goal and divide it by your chosen withdrawal rate.</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><strong>Example:</strong> Want $3,000 per month? That's $36,000 per year. At a 4% withdrawal rate, you'd need $36,000 ÷ 0.04 = <strong>$900,000</strong> invested.</span>
</div>

<p>Your choice of SWR percentage changes everything.</p>
<hr>

<h2 class="relative group">Why your SWR choice matters so much
    <div id="why-your-swr-choice-matters-so-much" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-your-swr-choice-matters-so-much" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The Safe Withdrawal Rate is the percentage of your portfolio you can withdraw each year without running out of money over a typical retirement. The classic &quot;4% rule&quot; comes from the famous Trinity Study, which found that historically, a 4% initial withdrawal rate (adjusted for inflation) had a very high success rate over 30-year periods. I've got another calculator for this. Check it out here: <strong><a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >SWR Calculator</a></strong></p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>My personal take:</strong> For me, 4% is too aggressive and probably outdated. Especially as people are living longer today. Well for some like Dave Ramsey, even 8% is ok. Honestly speaking, I think it's crazy. At that pace, your portfolio will run out faster than you expect. Just my personal opinion.</p></div></div>
<h3 class="relative group">Conservative vs aggressive SWR
    <div id="conservative-vs-aggressive-swr" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#conservative-vs-aggressive-swr" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Let's say you want that same $3,000 per month in passive income:</p>
<table>
	<thead>
			<tr>
					<th>SWR Rate</th>
					<th>Investment Required</th>
					<th>Risk Level</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>3.0%</td>
					<td>$1,200,000</td>
					<td>Very Conservative</td>
			</tr>
			<tr>
					<td>3.5%</td>
					<td>$1,028,571</td>
					<td>Conservative</td>
			</tr>
			<tr>
					<td>4.0%</td>
					<td>$900,000</td>
					<td>Standard</td>
			</tr>
			<tr>
					<td>4.5%</td>
					<td>$800,000</td>
					<td>Moderate</td>
			</tr>
			<tr>
					<td>5.0%</td>
					<td>$720,000</td>
					<td>Aggressive</td>
			</tr>
			<tr>
					<td>5.5%</td>
					<td>$654,545</td>
					<td>Very Aggressive</td>
			</tr>
			<tr>
					<td>6.0%</td>
					<td>$600,000</td>
					<td>High Risk</td>
			</tr>
	</tbody>
</table>
<p>See how much that changes things? The difference between a 3% and 6% SWR is literally double the investment amount. Above is a standard chart. As I mentioned, personally I think 4% is already quite aggressive. The world has changed! Bonds are not the same, the dollar is depreciating daily, inflation is high, etc.</p>
<p>So which one should you use?</p>
<hr>

<h2 class="relative group">Picking the right SWR for your situation
    <div id="picking-the-right-swr-for-your-situation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#picking-the-right-swr-for-your-situation" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>It depends on your circumstances.</p>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Lower Rate (3-3.5%)">
          <span class="flex items-center gap-1">
            
            Lower Rate (3-3.5%)
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Standard Rate (4%)">
          <span class="flex items-center gap-1">
            
            Standard Rate (4%)
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="2"
          data-tab-label="Higher Rate (4.5-5%)">
          <span class="flex items-center gap-1">
            
            Higher Rate (4.5-5%)
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        <p><strong>Use a lower rate if:</strong></p>
<ul>
<li>You're retiring early (before 50) and need your money to last 40+ years</li>
<li>You're naturally risk-averse and would lose sleep over market downturns</li>
<li>You have no other income sources like pensions or rental properties</li>
<li>You want a larger buffer for healthcare costs or unexpected expenses</li>
</ul>
      </div><div class="tab__panel " data-tab-index="1">
        <p><strong>Use the standard rate if:</strong></p>
<ul>
<li>You're planning a traditional 20 to 30-year retirement</li>
<li>You're comfortable with some market volatility</li>
<li>You have flexibility to reduce spending during downturns</li>
<li>Your portfolio is well-diversified across global markets</li>
</ul>
      </div><div class="tab__panel " data-tab-index="2">
        <p><strong>Use a higher rate if:</strong></p>
<ul>
<li>You have other reliable income sources</li>
<li>You're willing to adjust spending based on portfolio performance</li>
<li>You have a shorter time horizon</li>
<li>You're fine with accepting more risk for a lower investment target</li>
</ul>
      </div></div>
</div>

<hr>

<h2 class="relative group">Building your freedom number
    <div id="building-your-freedom-number" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#building-your-freedom-number" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>An example:</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Claudia's Story:</strong></p>
<p>Claudia wants to achieve financial independence. She's calculated that she needs $4,000 per month ($48,000 per year) to cover all her expenses comfortably. She's 35 and plans to retire early, so she wants a more conservative approach.</p>
<p><strong>At 3.5% SWR:</strong> $48,000 ÷ 0.035 = <strong>$1,371,429</strong></p>
<p>That's her freedom number. Once her investment portfolio hits roughly $1.37 million, she can theoretically live off the returns indefinitely.</p>
</span>
</div>

<p>But Claudia's smart. She also calculates what she'd need at different SWR rates:</p>
<table>
	<thead>
			<tr>
					<th>SWR Rate</th>
					<th>Investment Required</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>3.0%</td>
					<td>$1,600,000</td>
			</tr>
			<tr>
					<td>4.0%</td>
					<td>$1,200,000</td>
			</tr>
			<tr>
					<td>4.5%</td>
					<td>$1,066,667</td>
			</tr>
	</tbody>
</table>
<p>Now she has a range. She knows her &quot;very safe&quot; number is $1.6M, her &quot;comfortable&quot; number is $1.37M, and her &quot;minimum viable&quot; number is around $1.2M.</p>
<p>This gives her flexibility. Maybe she hits $1.2M and decides to go part-time instead of fully retiring. Or she pushes to $1.6M for complete peace of mind.</p>
<hr>

<h2 class="relative group">The heat map perspective
    <div id="the-heat-map-perspective" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-heat-map-perspective" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>One thing I find helpful is looking at multiple income levels and SWR rates simultaneously. You quickly see patterns:</p>
<ul>
<li>Lower SWR rates always require more investment (obviously)</li>
<li>Small differences in income add up fast when multiplied by 25-33x</li>
<li>The &quot;sweet spot&quot; for most people sits between 3.5% and 4.5%</li>
</ul>
<p>When you look at a grid of all these numbers together, you start to get a feel for where you want to land. Green cells show more achievable targets; red cells show numbers that might take longer to reach.</p>
<hr>

<h2 class="relative group">What this doesn't include
    <div id="what-this-doesnt-include" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-this-doesnt-include" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Before you lock in your freedom number, keep a few things in mind:</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Warning
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>The numbers above are simplified estimates. Real-world factors like taxes, inflation, and market timing can significantly impact how much you actually need. Build in extra margin.</p></div></div><table>
	<thead>
			<tr>
					<th>Factor</th>
					<th>Why It Matters</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Taxes vary wildly</strong></td>
					<td>Depending on where you live and how your investments are structured, you might need to account for taxes on your withdrawals. Some countries tax capital gains heavily; others don't tax them at all. Check your local rules.</td>
			</tr>
			<tr>
					<td><strong>Inflation is real</strong></td>
					<td>The SWR framework assumes you'll adjust withdrawals for inflation each year. Your $4,000/month today might need to be $5,000/month in 10 years to maintain the same lifestyle.</td>
			</tr>
			<tr>
					<td><strong>Sequence of returns matters</strong></td>
					<td>A market crash in your first few years of retirement is far more damaging than one 15 years in. This is why many people use slightly lower SWR rates for added protection.</td>
			</tr>
			<tr>
					<td><strong>Life changes</strong></td>
					<td>Your expenses won't stay static forever. Health issues, moving to other countries, new hobbies - all of these affect how much you actually need.</td>
			</tr>
	</tbody>
</table>
<hr>

<h2 class="relative group">Taking action
    <div id="taking-action" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#taking-action" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Here's what I'd suggest:</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #0f5132"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #75b798"
    
    >
    
  </span>

  <span
    
      style="color: #d1e7dd"
    
    ><p><strong>Your Action Plan:</strong></p>
<ol>
<li><strong>Calculate your monthly expenses.</strong> Be honest. Include everything from rent to that streaming subscription you need.</li>
<li><strong>Add a buffer.</strong> Take your monthly number and add 10-20% for unexpected costs and lifestyle inflation.</li>
<li><strong>Pick your SWR.</strong> Conservative (3-3.5%) if you're young or risk-averse, standard (4%) for a 30-year horizon, or moderate (4.5%) if you have other income.</li>
<li><strong>Run the calculation.</strong> Multiply your annual expenses by 25 (for 4% SWR), 28.5 (for 3.5%), or 33.3 (for 3%).</li>
<li><strong>Track your progress.</strong> Now you have a concrete target. Watch your net worth grow toward it.</li>
</ol></span>
</div>

<hr>

<h2 class="relative group">Your turn
    <div id="your-turn" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#your-turn" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Whether you need $500,000 or $2,000,000, you've got a number to work toward.</p>
<p>If you want to explore different scenarios quickly, try the <a href="/calculators/swr-passive-income-calculator/" >SWR Passive Income Calculator</a>. It'll generate a complete grid showing exactly how much you need for various income levels and SWR combinations.</p>
<hr>

<h2 class="relative group">Related resources
    <div id="related-resources" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#related-resources" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M172.5 131.1C228.1 75.51 320.5 75.51 376.1 131.1C426.1 181.1 433.5 260.8 392.4 318.3L391.3 319.9C381 334.2 361 337.6 346.7 327.3C332.3 317 328.9 297 339.2 282.7L340.3 281.1C363.2 249 359.6 205.1 331.7 177.2C300.3 145.8 249.2 145.8 217.7 177.2L105.5 289.5C73.99 320.1 73.99 372 105.5 403.5C133.3 431.4 177.3 435 209.3 412.1L210.9 410.1C225.3 400.7 245.3 404 255.5 418.4C265.8 432.8 262.5 452.8 248.1 463.1L246.5 464.2C188.1 505.3 110.2 498.7 60.21 448.8C3.741 392.3 3.741 300.7 60.21 244.3L172.5 131.1zM467.5 380C411 436.5 319.5 436.5 263 380C213 330 206.5 251.2 247.6 193.7L248.7 192.1C258.1 177.8 278.1 174.4 293.3 184.7C307.7 194.1 311.1 214.1 300.8 229.3L299.7 230.9C276.8 262.1 280.4 306.9 308.3 334.8C339.7 366.2 390.8 366.2 422.3 334.8L534.5 222.5C566 191 566 139.1 534.5 108.5C506.7 80.63 462.7 76.99 430.7 99.9L429.1 101C414.7 111.3 394.7 107.1 384.5 93.58C374.2 79.2 377.5 59.21 391.9 48.94L393.5 47.82C451 6.731 529.8 13.25 579.8 63.24C636.3 119.7 636.3 211.3 579.8 267.7L467.5 380z"/></svg>
</span>
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Explore More:</strong></p>
<ul>
<li><strong><a href="/calculators/swr-passive-income-calculator/" >SWR Passive Income Calculator</a></strong> - Generate your personalized grid</li>
<li><strong><a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >SWR Calculator</a></strong> - Stress-test your withdrawal rate with historical data</li>
<li><strong><a href="/posts/swr-checklist-practical-steps-for-retirement-withdrawal-planning/" >SWR Checklist</a></strong> - Step-by-step guide to retirement planning</li>
<li><strong><a href="/calculators/interactive_calculator_to_your_fire_number/" >FIRE Calculator</a></strong> - Calculate your financial independence number</li>
</ul></span>
</div>

<hr>
<p><strong>What's your target passive income?</strong> Drop a comment below!</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This post reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/swr-passive-income-investment-required.webp" medium="image"/></item><item><title>SWR Passive Income Calculator: Find Your Freedom Number</title><link>https://libreleo.com/calculators/swr-passive-income-calculator/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://libreleo.com/calculators/swr-passive-income-calculator/</guid><description>Use this free calculator to instantly see how much investment you need to generate your target monthly passive income at various Safe Withdrawal Rates.</description><content:encoded><![CDATA[<div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
  Want to know exactly how much you need invested to live off passive income? Enter your target monthly income and see a complete grid of investment requirements across different withdrawal rates.
</div>

<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Tip
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>New to Safe Withdrawal Rates?</strong> Read the complete guide first: <a href="/posts/swr-passive-income-investment-required/" >How Much Do You Need Invested for Passive Income?</a></p></div></div><hr>

<h2 class="relative group">SWR Passive Income Calculator
    <div id="swr-passive-income-calculator" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#swr-passive-income-calculator" aria-label="Anchor">#</a>
    </span>
    
</h2>

<style>
    :root {
        --swr-pi-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        --swr-pi-background-color: #f8f9fa;
        --swr-pi-card-background-color: #ffffff;
        --swr-pi-border-color: #dee2e6;
        --swr-pi-text-color: #212529;
        --swr-pi-label-color: #495057;
        --swr-pi-input-background-color: #ffffff;
        --swr-pi-input-border-color: #ced4da;
        --swr-pi-button-background-color: #004085;
        --swr-pi-button-text-color: #ffffff;
        --swr-pi-button-hover-background-color: #002752;
        --swr-pi-results-background-color: #e9ecef;
        --swr-pi-header-background: #333;
        --swr-pi-header-text: #ffffff;
    }

    .dark {
        --swr-pi-background-color: #1a1a1a;
        --swr-pi-card-background-color: #2d2d2d;
        --swr-pi-border-color: #444;
        --swr-pi-text-color: #f8f9fa;
        --swr-pi-label-color: #adb5bd;
        --swr-pi-input-background-color: #333;
        --swr-pi-input-border-color: #555;
        --swr-pi-results-background-color: #343a40;
        --swr-pi-header-background: #1a1a1a;
        --swr-pi-header-text: #ffffff;
    }

    .swr-pi-calculator {
        font-family: var(--swr-pi-font-family);
        background-color: var(--swr-pi-card-background-color);
        color: var(--swr-pi-text-color);
        border: 1px solid var(--swr-pi-border-color);
        border-radius: 0.5rem;
        padding: 2rem;
        margin: 2rem 0;
        box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    }

    .swr-pi-calculator h3 {
        margin-top: 0;
        margin-bottom: 1.5rem;
        text-align: center;
        color: var(--swr-pi-text-color);
        font-size: 1.6rem;
        font-weight: 700;
    }

    .swr-pi-subtitle {
        text-align: center;
        color: var(--swr-pi-label-color);
        margin-bottom: 1.5rem;
        font-size: 0.95rem;
    }

    .swr-pi-input-section {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        justify-content: center;
        align-items: flex-end;
        margin-bottom: 2rem;
    }

    .swr-pi-form-group {
        display: flex;
        flex-direction: column;
    }

    .swr-pi-form-group label {
        margin-bottom: 0.5rem;
        font-weight: 500;
        color: var(--swr-pi-label-color);
        font-size: 0.9rem;
    }

    .swr-pi-form-group input,
    .swr-pi-form-group select {
        padding: 0.6rem 0.8rem;
        border: 1px solid var(--swr-pi-input-border-color);
        border-radius: 0.25rem;
        background-color: var(--swr-pi-input-background-color);
        color: var(--swr-pi-text-color);
        font-size: 1rem;
        min-width: 150px;
    }

    .swr-pi-button {
        padding: 0.6rem 1.5rem;
        border: none;
        border-radius: 0.25rem;
        background-color: var(--swr-pi-button-background-color);
        color: var(--swr-pi-button-text-color);
        cursor: pointer;
        font-weight: 500;
        font-size: 1rem;
        transition: background-color 0.15s ease-in-out;
        height: fit-content;
    }

    .swr-pi-button:hover {
        background-color: var(--swr-pi-button-hover-background-color);
    }

     
    .swr-pi-grid-container {
        overflow-x: auto;
        margin-top: 1.5rem;
    }

    .swr-pi-grid {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.8rem;
        border-radius: 0.5rem;
        overflow: hidden;
        border: 1px solid var(--swr-pi-border-color);
    }

    .swr-pi-grid th {
        background-color: var(--swr-pi-header-background);
        color: var(--swr-pi-header-text);
        padding: 0.75rem 0.5rem;
        text-align: center;
        font-weight: 600;
        border-bottom: 1px solid var(--swr-pi-border-color);
        border-right: 1px solid var(--swr-pi-border-color);
    }

    .swr-pi-grid th:last-child {
        border-right: none;
    }

    .swr-pi-grid td {
        padding: 0.6rem 0.5rem;
        text-align: center;
        border-bottom: 1px solid var(--swr-pi-border-color);
        border-right: 1px solid var(--swr-pi-border-color);
        font-weight: 500;
        transition: transform 0.1s ease;
    }

    .swr-pi-grid td:last-child {
        border-right: none;
    }

    .swr-pi-grid tbody tr:last-child td {
        border-bottom: none;
    }

    .swr-pi-grid td:first-child {
        background-color: var(--swr-pi-header-background);
        color: var(--swr-pi-header-text);
        font-weight: 600;
        text-align: right;
        padding-right: 1rem;
    }

    .swr-pi-grid tr:hover td:not(:first-child) {
        transform: scale(1.02);
    }

     
    .swr-pi-cell-1 { background-color: #2ecc71; color: #000; }
    .swr-pi-cell-2 { background-color: #58d68d; color: #000; }
    .swr-pi-cell-3 { background-color: #82e0aa; color: #000; }
    .swr-pi-cell-4 { background-color: #abebc6; color: #000; }
    .swr-pi-cell-5 { background-color: #d5f5e3; color: #000; }
    .swr-pi-cell-6 { background-color: #fcf3cf; color: #000; }
    .swr-pi-cell-7 { background-color: #f9e79f; color: #000; }
    .swr-pi-cell-8 { background-color: #f5b041; color: #000; }
    .swr-pi-cell-9 { background-color: #eb984e; color: #000; }
    .swr-pi-cell-10 { background-color: #e74c3c; color: #fff; }

    .swr-pi-highlight {
        outline: 3px solid var(--swr-pi-button-background-color);
        outline-offset: -3px;
        font-weight: 700 !important;
    }

     
    .swr-pi-legend {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 0.5rem;
        margin-top: 1rem;
        font-size: 0.85rem;
        color: var(--swr-pi-label-color);
    }

    .swr-pi-legend-gradient {
        display: flex;
        height: 20px;
        width: 200px;
        border-radius: 3px;
        overflow: hidden;
    }

    .swr-pi-legend-gradient span {
        flex: 1;
    }

     
    .swr-pi-summary {
        background-color: var(--swr-pi-results-background-color);
        border-radius: 0.5rem;
        padding: 1.5rem;
        margin-top: 1.5rem;
        border: 1px solid var(--swr-pi-border-color);
    }

    .swr-pi-summary h4 {
        margin: 0 0 1rem 0;
        color: var(--swr-pi-text-color);
        font-size: 1.1rem;
    }

    .swr-pi-summary-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 1rem;
    }

    .swr-pi-summary-item {
        text-align: center;
    }

    .swr-pi-summary-item .label {
        font-size: 0.85rem;
        color: var(--swr-pi-label-color);
        margin-bottom: 0.25rem;
    }

    .swr-pi-summary-item .value {
        font-size: 1.3rem;
        font-weight: 700;
        color: var(--swr-pi-text-color);
    }

    .swr-pi-summary-item .subtext {
        font-size: 0.8rem;
        color: var(--swr-pi-label-color);
    }

     
    @media (max-width: 600px) {
        .swr-pi-calculator {
            padding: 1rem;
        }

        .swr-pi-grid {
            font-size: 0.75rem;
        }

        .swr-pi-grid th,
        .swr-pi-grid td {
            padding: 0.4rem 0.25rem;
        }
    }
</style>

<div class="swr-pi-calculator">
    <h3>Investment Required for Passive Income</h3>
    <p class="swr-pi-subtitle">Calculate how much you need invested to generate your target monthly income at various Safe Withdrawal Rates</p>

    <div class="swr-pi-input-section">
        <div class="swr-pi-form-group">
            <label for="swr-pi-monthly-income">Target Monthly Income</label>
            <input type="number" id="swr-pi-monthly-income" value="3000" min="100" step="100" placeholder="$3,000">
        </div>
        <div class="swr-pi-form-group">
            <label for="swr-pi-currency">Currency</label>
            <select id="swr-pi-currency">
                <option value="$" selected>$ USD</option>
                <option value="€">€ EUR</option>
                <option value="£">£ GBP</option>
                <option value="¥">¥ JPY</option>
                <option value="A$">A$ AUD</option>
                <option value="C$">C$ CAD</option>
            </select>
        </div>
        <button class="swr-pi-button" id="swr-pi-calculate-btn">Calculate</button>
    </div>

    <div class="swr-pi-grid-container" id="swr-pi-results">
        
    </div>
</div>

<script>
(function() {
    'use strict';

    const monthlyIncomeInput = document.getElementById('swr-pi-monthly-income');
    const currencySelect = document.getElementById('swr-pi-currency');
    const calculateBtn = document.getElementById('swr-pi-calculate-btn');
    const resultsDiv = document.getElementById('swr-pi-results');

    
    const SWR_RATES = [3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0];

    
    const INCOME_MULTIPLIERS = [
        { mult: 10/3, label: '10x' },    
        { mult: 8/3, label: '8x' },
        { mult: 2, label: '6x' },
        { mult: 5/3, label: '5x' },
        { mult: 4/3, label: '4x' },
        { mult: 1, label: 'TARGET' },
        { mult: 2/3, label: '2x' },
        { mult: 1/3, label: '1x' },
        { mult: 1/6, label: '0.5x' },
        { mult: 1/30, label: '0.1x' }
    ];

    function formatCurrency(amount, currency) {
        if (amount >= 1000000) {
            return currency + (amount / 1000000).toFixed(2) + 'M';
        } else if (amount >= 1000) {
            return currency + (amount / 1000).toFixed(0) + 'K';
        }
        return currency + amount.toLocaleString(undefined, { maximumFractionDigits: 0 });
    }

    function formatIncome(amount, currency) {
        return currency + amount.toLocaleString(undefined, { maximumFractionDigits: 0 });
    }

    function calculateInvestmentRequired(monthlyIncome, swrRate) {
        
        const annualIncome = monthlyIncome * 12;
        return annualIncome / (swrRate / 100);
    }

    function getCellColorClass(investment, minInvestment, maxInvestment) {
        
        const range = maxInvestment - minInvestment;
        if (range === 0) return 'swr-pi-cell-5';

        const normalized = (investment - minInvestment) / range;
        const colorIndex = Math.min(10, Math.max(1, Math.ceil(normalized * 10)));
        return `swr-pi-cell-${colorIndex}`;
    }

    function generateGrid() {
        const targetMonthly = parseFloat(monthlyIncomeInput.value) || 3000;
        const currency = currencySelect.value;

        
        const incomeSteps = generateIncomeSteps(targetMonthly);

        
        let allInvestments = [];
        incomeSteps.forEach(income => {
            SWR_RATES.forEach(rate => {
                allInvestments.push(calculateInvestmentRequired(income, rate));
            });
        });

        const minInvestment = Math.min(...allInvestments);
        const maxInvestment = Math.max(...allInvestments);

        
        let html = '<table class="swr-pi-grid">';

        
        html += '<thead><tr>';
        html += '<th>Monthly Passive<br>Income</th>';
        SWR_RATES.forEach(rate => {
            const isStandard = rate === 4.0;
            html += `<th>${rate.toFixed(1)}%${isStandard ? '<br><small>(Standard)</small>' : ''}</th>`;
        });
        html += '</tr></thead>';

        
        html += '<tbody>';
        incomeSteps.forEach(income => {
            const isTarget = income === targetMonthly;
            html += '<tr>';
            html += `<td>${formatIncome(income, currency)}/mo</td>`;

            SWR_RATES.forEach(rate => {
                const investment = calculateInvestmentRequired(income, rate);
                const colorClass = getCellColorClass(investment, minInvestment, maxInvestment);
                const highlightClass = (isTarget && rate === 4.0) ? ' swr-pi-highlight' : '';
                html += `<td class="${colorClass}${highlightClass}">${formatCurrency(investment, currency)}</td>`;
            });

            html += '</tr>';
        });

        
        html += '<tr>';
        html += '<td style="font-size: 0.8rem;">SWR Rate →</td>';
        SWR_RATES.forEach(rate => {
            html += `<td style="background-color: var(--swr-pi-header-background); color: var(--swr-pi-header-text); font-size: 0.85rem;">${rate.toFixed(1)}%</td>`;
        });
        html += '</tr>';

        html += '</tbody></table>';

        
        html += `
            <div class="swr-pi-legend">
                <span>Lower Investment</span>
                <div class="swr-pi-legend-gradient">
                    <span style="background: #2ecc71;"></span>
                    <span style="background: #58d68d;"></span>
                    <span style="background: #82e0aa;"></span>
                    <span style="background: #abebc6;"></span>
                    <span style="background: #d5f5e3;"></span>
                    <span style="background: #fcf3cf;"></span>
                    <span style="background: #f9e79f;"></span>
                    <span style="background: #f5b041;"></span>
                    <span style="background: #eb984e;"></span>
                    <span style="background: #e74c3c;"></span>
                </div>
                <span>Higher Investment</span>
            </div>
        `;

        
        const targetAt4 = calculateInvestmentRequired(targetMonthly, 4.0);
        const targetAt3 = calculateInvestmentRequired(targetMonthly, 3.0);
        const targetAt5 = calculateInvestmentRequired(targetMonthly, 5.0);
        const annualIncome = targetMonthly * 12;

        html += `
            <div class="swr-pi-summary">
                <h4>Summary for ${formatIncome(targetMonthly, currency)}/month (${formatIncome(annualIncome, currency)}/year)</h4>
                <div class="swr-pi-summary-grid">
                    <div class="swr-pi-summary-item">
                        <div class="label">Conservative (3% SWR)</div>
                        <div class="value">${formatCurrency(targetAt3, currency)}</div>
                        <div class="subtext">Higher safety margin</div>
                    </div>
                    <div class="swr-pi-summary-item">
                        <div class="label">Standard (4% SWR)</div>
                        <div class="value">${formatCurrency(targetAt4, currency)}</div>
                        <div class="subtext">Traditional "4% Rule"</div>
                    </div>
                    <div class="swr-pi-summary-item">
                        <div class="label">Aggressive (5% SWR)</div>
                        <div class="value">${formatCurrency(targetAt5, currency)}</div>
                        <div class="subtext">Higher withdrawal risk</div>
                    </div>
                </div>
            </div>
        `;

        resultsDiv.innerHTML = html;
    }

    function generateIncomeSteps(target) {
        
        
        const steps = [];

        
        const magnitude = Math.pow(10, Math.floor(Math.log10(target)));
        const roundTo = magnitude >= 1000 ? 500 : (magnitude >= 100 ? 100 : 50);

        
        const multipliers = [10, 8, 6, 5, 4, 3, 2, 1.5, 1, 0.75, 0.5, 0.25, 0.1];

        multipliers.forEach(mult => {
            let value = target * mult;
            
            if (value >= 10000) {
                value = Math.round(value / 1000) * 1000;
            } else if (value >= 1000) {
                value = Math.round(value / 500) * 500;
            } else if (value >= 100) {
                value = Math.round(value / 100) * 100;
            } else {
                value = Math.round(value / 50) * 50;
            }

            if (value >= 100 && !steps.includes(value)) {
                steps.push(value);
            }
        });

        
        if (!steps.includes(target)) {
            steps.push(target);
        }

        
        steps.sort((a, b) => b - a);

        
        if (steps.length > 12) {
            const targetIndex = steps.indexOf(target);
            
            const startIndex = Math.max(0, targetIndex - 5);
            const endIndex = Math.min(steps.length, startIndex + 12);
            return steps.slice(startIndex, endIndex);
        }

        return steps;
    }

    
    calculateBtn.addEventListener('click', generateGrid);

    monthlyIncomeInput.addEventListener('keypress', (e) => {
        if (e.key === 'Enter') {
            generateGrid();
        }
    });

    
    generateGrid();
})();
</script>

<hr>

<h2 class="relative group">How to use this calculator
    <div id="how-to-use-this-calculator" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-to-use-this-calculator" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">Step 1: Enter your target monthly income
    <div id="step-1-enter-your-target-monthly-income" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-1-enter-your-target-monthly-income" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Type in how much passive income you want each month. This should cover all your living expenses and a buffer for unexpected costs.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>Not sure what number to use?</strong> Add up your monthly expenses:</p></div></div><table>
	<thead>
			<tr>
					<th>Category</th>
					<th>Examples</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Housing</strong></td>
					<td>Rent, mortgage, property taxes</td>
			</tr>
			<tr>
					<td><strong>Utilities</strong></td>
					<td>Electric, water, internet, phone</td>
			</tr>
			<tr>
					<td><strong>Food</strong></td>
					<td>Groceries, dining out</td>
			</tr>
			<tr>
					<td><strong>Transport</strong></td>
					<td>Car payment, fuel, insurance, transit</td>
			</tr>
			<tr>
					<td><strong>Insurance</strong></td>
					<td>Health, life, home</td>
			</tr>
			<tr>
					<td><strong>Entertainment</strong></td>
					<td>Subscriptions, hobbies, travel</td>
			</tr>
			<tr>
					<td><strong>Buffer</strong></td>
					<td>Add 10-20% extra for unexpected costs</td>
			</tr>
	</tbody>
</table>

<h3 class="relative group">Step 2: Select your currency
    <div id="step-2-select-your-currency" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-2-select-your-currency" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Choose your local currency from the dropdown. The calculator supports USD, EUR, GBP, JPY, AUD, and CAD.</p>

<h3 class="relative group">Step 3: Click calculate
    <div id="step-3-click-calculate" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-3-click-calculate" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Hit the button and the grid populates instantly.</p>
<hr>

<h2 class="relative group">Reading the results
    <div id="reading-the-results" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#reading-the-results" aria-label="Anchor">#</a>
    </span>
    
</h2>

<h3 class="relative group">The grid explained
    <div id="the-grid-explained" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-grid-explained" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>The table shows investment amounts required for:</p>
<table>
	<thead>
			<tr>
					<th>Element</th>
					<th>What It Shows</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Rows</strong></td>
					<td>Different monthly income levels (0.1x to 10x your target)</td>
			</tr>
			<tr>
					<td><strong>Columns</strong></td>
					<td>Different SWR rates (3% to 6%)</td>
			</tr>
			<tr>
					<td><strong>Green cells</strong></td>
					<td>Lower investment required (more achievable)</td>
			</tr>
			<tr>
					<td><strong>Red cells</strong></td>
					<td>Higher investment required (bigger target)</td>
			</tr>
			<tr>
					<td><strong>Highlighted cell</strong></td>
					<td>Your exact target at the standard 4% SWR</td>
			</tr>
	</tbody>
</table>

<h3 class="relative group">The summary section
    <div id="the-summary-section" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-summary-section" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p>Below the grid, you'll see three key numbers for your target income:</p>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Conservative (3%)">
          <span class="flex items-center gap-1">
            
            Conservative (3%)
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Standard (4%)">
          <span class="flex items-center gap-1">
            
            Standard (4%)
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="2"
          data-tab-label="Aggressive (5%)">
          <span class="flex items-center gap-1">
            
            Aggressive (5%)
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        <p><strong>Highest investment, lowest risk</strong></p>
<p>Best for:</p>
<ul>
<li>Early retirees (before 50)</li>
<li>Risk-averse investors</li>
<li>Those with no other income sources</li>
<li>40+ year retirement horizons</li>
</ul>

      </div><div class="tab__panel " data-tab-index="1">
        <p><strong>The classic &quot;4% rule&quot; amount</strong></p>
<p>Best for:</p>
<ul>
<li>Traditional 30-year retirement</li>
<li>Diversified portfolios</li>
<li>Those comfortable with some volatility</li>
<li>Flexibility to adjust spending</li>
</ul>

      </div><div class="tab__panel " data-tab-index="2">
        <p><strong>Lower investment, higher risk</strong></p>
<p>Best for:</p>
<ul>
<li>Those with other income sources</li>
<li>Shorter time horizons</li>
<li>Willingness to adjust lifestyle</li>
<li>Higher risk tolerance</li>
</ul>

      </div></div>
</div>

<hr>

<h2 class="relative group">Quick example
    <div id="quick-example" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#quick-example" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Target:</strong> $3,000/month passive income</p>
<table>
	<thead>
			<tr>
					<th>SWR Rate</th>
					<th>Investment Needed</th>
					<th>Risk Level</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>3%</td>
					<td>$1,200,000</td>
					<td>Conservative</td>
			</tr>
			<tr>
					<td>4%</td>
					<td>$900,000</td>
					<td>Standard</td>
			</tr>
			<tr>
					<td>5%</td>
					<td>$720,000</td>
					<td>Aggressive</td>
			</tr>
	</tbody>
</table>
<p>The difference between conservative and aggressive is <strong>$480,000</strong>. That's why understanding your risk tolerance matters.</p>
</span>
</div>

<hr>

<h2 class="relative group">Tips for best results
    <div id="tips-for-best-results" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#tips-for-best-results" aria-label="Anchor">#</a>
    </span>
    
</h2>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="important">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0L287.9 0zM287.9 78.95L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L276.6 387.5C283.7 383.7 292.2 383.7 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.9 78.95z"/></svg></span></div>
        <div class="grow">
          Important
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>Key considerations:</strong></p>
<ul>
<li><strong>Start conservative</strong> — If retiring early (before 50), lean toward 3-3.5% SWR</li>
<li><strong>Include taxes</strong> — Your withdrawal may need to be higher depending on your country's tax rules</li>
<li><strong>Check multiple scenarios</strong> — Look at both &quot;minimum viable&quot; and &quot;comfortable&quot; income levels</li>
<li><strong>Revisit annually</strong> — Recalculate as your expenses and goals change</li>
</ul></div></div><hr>

<h2 class="relative group">Next steps
    <div id="next-steps" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#next-steps" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #0f5132"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #75b798"
    
    >
    
  </span>

  <span
    
      style="color: #d1e7dd"
    
    ><p><strong>Now that you know your target number:</strong></p>
<ol>
<li><strong>Calculate your current savings rate</strong> — How much are you saving each month?</li>
<li><strong>Project when you'll reach your goal</strong> — Use a compound interest calculator</li>
<li><strong>Consider ways to close the gap faster</strong> — Increase income or reduce expenses</li>
</ol></span>
</div>

<hr>

<h2 class="relative group">Related resources
    <div id="related-resources" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#related-resources" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M172.5 131.1C228.1 75.51 320.5 75.51 376.1 131.1C426.1 181.1 433.5 260.8 392.4 318.3L391.3 319.9C381 334.2 361 337.6 346.7 327.3C332.3 317 328.9 297 339.2 282.7L340.3 281.1C363.2 249 359.6 205.1 331.7 177.2C300.3 145.8 249.2 145.8 217.7 177.2L105.5 289.5C73.99 320.1 73.99 372 105.5 403.5C133.3 431.4 177.3 435 209.3 412.1L210.9 410.1C225.3 400.7 245.3 404 255.5 418.4C265.8 432.8 262.5 452.8 248.1 463.1L246.5 464.2C188.1 505.3 110.2 498.7 60.21 448.8C3.741 392.3 3.741 300.7 60.21 244.3L172.5 131.1zM467.5 380C411 436.5 319.5 436.5 263 380C213 330 206.5 251.2 247.6 193.7L248.7 192.1C258.1 177.8 278.1 174.4 293.3 184.7C307.7 194.1 311.1 214.1 300.8 229.3L299.7 230.9C276.8 262.1 280.4 306.9 308.3 334.8C339.7 366.2 390.8 366.2 422.3 334.8L534.5 222.5C566 191 566 139.1 534.5 108.5C506.7 80.63 462.7 76.99 430.7 99.9L429.1 101C414.7 111.3 394.7 107.1 384.5 93.58C374.2 79.2 377.5 59.21 391.9 48.94L393.5 47.82C451 6.731 529.8 13.25 579.8 63.24C636.3 119.7 636.3 211.3 579.8 267.7L467.5 380z"/></svg>
</span>
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Explore More:</strong></p>
<ul>
<li><strong><a href="/posts/swr-passive-income-investment-required/" >SWR Passive Income Guide</a></strong> — Full explanation of freedom numbers</li>
<li><strong><a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >SWR Calculator</a></strong> — Stress-test your withdrawal rate with 150+ years of data</li>
<li><strong><a href="/posts/swr-checklist-practical-steps-for-retirement-withdrawal-planning/" >SWR Checklist</a></strong> — Step-by-step retirement planning guide</li>
<li><strong><a href="/calculators/interactive_calculator_to_your_fire_number/" >FIRE Calculator</a></strong> — Calculate your financial independence number</li>
<li><strong><a href="/calculators/how-to-use-savings-rate-calculator/" >Savings Rate Calculator</a></strong> — Find out how much you're actually saving</li>
</ul></span>
</div>

<hr>
<p><strong>Questions about the calculator?</strong> Drop a comment below!</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This calculator reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/swr-passive-income-calculator.webp" medium="image"/></item><item><title>Safe Withdrawal Rate (SWR) Calculator</title><link>https://libreleo.com/calculators/interactive_safe_withdrawal_rate_calculator/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><guid>https://libreleo.com/calculators/interactive_safe_withdrawal_rate_calculator/</guid><description>An interactive calculator to explore the success rate of different withdrawal strategies using historical data.</description><content:encoded><![CDATA[
  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Calculator updated</strong> with the dataset 1871 - 2025.</span>
</div>

<p>The Safe Withdrawal Rate (SWR) is the maximum rate at which a retiree can withdraw money from a retirement account each year with a low risk of depleting the funds during their lifetime.</p>
<p>This interactive calculator allows you to run your own simulations based on historical data for various asset classes. You can adjust the simulation parameters, such as the number of years, the withdrawal rate, and the portfolio allocation, to see how these changes affect the success rate.</p>
<p>Try it yourself!</p>

<style>
    :root {
        --swr-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
        --swr-background-color: #f8f9fa;
        --swr-card-background-color: #ffffff;
        --swr-border-color: #dee2e6;
        --swr-text-color: #212529;
        --swr-label-color: #495057;
        --swr-input-background-color: #ffffff;
        --swr-input-border-color: #ced4da;
        --swr-button-background-color: #004085;
        --swr-button-text-color: #ffffff;
        --swr-button-hover-background-color: #002752;
        --swr-results-background-color: #e9ecef;
        --swr-success-color: #28a745;
        --swr-failure-color: #dc3545;
        --swr-spinner-color: #007bff;
    }

    .dark {
        --swr-background-color: #1a1a1a;
        --swr-card-background-color: #2d2d2d;
        --swr-border-color: #444;
        --swr-text-color: #f8f9fa;
        --swr-label-color: #adb5bd;
        --swr-input-background-color: #333;
        --swr-input-border-color: #555;
        --swr-results-background-color: #343a40;
    }

    .swr-calculator {
        font-family: var(--swr-font-family);
        background-color: var(--swr-card-background-color);
        color: var(--swr-text-color);
        border: 1px solid var(--swr-border-color);
        border-radius: 0.5rem;
        padding: 2rem;
        margin: 2rem 0;
        box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    }

    .swr-calculator h3 {
        margin-top: 0;
        margin-bottom: 1.5rem;
        text-align: center;
        color: var(--swr-text-color);
        font-size: 1.8rem;
        font-weight: 700;
    }

    .swr-form-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .swr-form-group {
        display: flex;
        flex-direction: column;
    }

    .swr-form-group label {
        margin-bottom: 0.5rem;
        font-weight: 500;
        color: var(--swr-label-color);
        font-size: 0.9rem;
    }

    .swr-form-group input,
    .swr-form-group select {
        padding: 0.5rem;
        border: 1px solid var(--swr-input-border-color);
        border-radius: 0.25rem;
        background-color: var(--swr-input-background-color);
        color: var(--swr-text-color);
        font-size: 0.95rem;
    }

    .swr-section-title {
        font-size: 1.2rem;
        font-weight: 600;
        margin: 1.5rem 0 1rem 0;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid var(--swr-border-color);
        color: var(--swr-text-color);
    }

    #swr-portfolio-container {
        margin: 1rem 0;
    }

    .swr-portfolio-assets {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        border: 1px solid var(--swr-border-color);
        border-radius: 0.25rem;
        padding: 1rem;
        background-color: var(--swr-input-background-color);
    }

    .swr-portfolio-asset-row {
        display: flex;
        gap: 0.75rem;
        align-items: center;
    }

    .swr-portfolio-asset-row select {
        flex: 3;
        padding: 0.5rem;
        border: 1px solid var(--swr-input-border-color);
        border-radius: 0.25rem;
        background-color: var(--swr-input-background-color);
        color: var(--swr-text-color);
    }

    .swr-portfolio-asset-row input {
        flex: 1;
        padding: 0.5rem;
        border: 1px solid var(--swr-input-border-color);
        border-radius: 0.25rem;
        background-color: var(--swr-input-background-color);
        color: var(--swr-text-color);
        text-align: right;
    }

    .swr-portfolio-asset-row button {
        padding: 0.5rem 0.75rem;
        background-color: var(--swr-failure-color);
        color: white;
        border: none;
        border-radius: 0.25rem;
        cursor: pointer;
        font-size: 1.2rem;
        line-height: 1;
        transition: opacity 0.15s ease;
    }

    .swr-portfolio-asset-row button:hover {
        opacity: 0.8;
    }

    .swr-portfolio-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid var(--swr-border-color);
    }

    .swr-button {
        padding: 0.6rem 1.2rem;
        border: none;
        border-radius: 0.25rem;
        background-color: var(--swr-button-background-color);
        color: var(--swr-button-text-color);
        cursor: pointer;
        font-weight: 500;
        transition: background-color 0.15s ease-in-out;
    }

    .swr-button:hover {
        background-color: var(--swr-button-hover-background-color);
    }

    .swr-button:disabled {
        opacity: 0.6;
        cursor: not-allowed;
    }

    .swr-allocation-total {
        font-weight: 600;
        color: var(--swr-text-color);
    }

    .swr-allocation-total.invalid {
        color: var(--swr-failure-color);
    }

    .swr-allocation-total.valid {
        color: var(--swr-success-color);
    }

    #swr-results {
        margin-top: 2rem;
        padding: 1.5rem;
        background-color: var(--swr-results-background-color);
        border-radius: 0.25rem;
        border: 1px solid var(--swr-border-color);
    }

    #swr-results h4 {
        margin-top: 0;
        margin-bottom: 1rem;
        color: var(--swr-text-color);
        font-size: 1.3rem;
    }

    #swr-results p {
        margin: 0.5rem 0;
        color: var(--swr-text-color);
        line-height: 1.6;
    }

    .swr-spinner {
        border: 3px solid rgba(0, 123, 255, 0.1);
        border-top: 3px solid var(--swr-spinner-color);
        border-radius: 50%;
        width: 40px;
        height: 40px;
        animation: spin 1s linear infinite;
        margin: 2rem auto;
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    .swr-advanced-toggle {
        text-align: center;
        margin: 1.5rem 0;
    }

    .swr-advanced-toggle button {
        background: none;
        border: 1px solid var(--swr-border-color);
        color: var(--swr-text-color);
        padding: 0.5rem 1rem;
        border-radius: 0.25rem;
        cursor: pointer;
        font-size: 0.9rem;
    }

    .swr-advanced-toggle button:hover {
        background-color: var(--swr-input-background-color);
    }

    .swr-advanced-options {
        display: none;
        margin-top: 1rem;
    }

    .swr-advanced-options.show {
        display: block;
    }

    .swr-help-text {
        font-size: 0.85rem;
        color: var(--swr-label-color);
        margin-top: 0.25rem;
        font-style: italic;
    }
</style>

<div class="swr-calculator">
    <h3>Safe Withdrawal Rate Calculator</h3>

    
    <div class="swr-form-grid">
        <div class="swr-form-group">
            <label for="swr-initial-value">Initial Portfolio Value ($)</label>
            <input type="number" id="swr-initial-value" value="1000000" min="1" step="1000">
        </div>
        <div class="swr-form-group">
            <label for="swr-withdrawal-rate">Withdrawal Rate (%)</label>
            <input type="number" id="swr-withdrawal-rate" value="4.0" min="0" max="20" step="0.1">
        </div>
        <div class="swr-form-group">
            <label for="swr-years">Retirement Period (years)</label>
            <input type="number" id="swr-years" value="30" min="1" max="60" step="1">
        </div>
        <div class="swr-form-group">
            <label for="swr-fees">Annual Fees / TER (%)</label>
            <input type="number" id="swr-fees" value="0.1" min="0" max="5" step="0.01">
            <span class="swr-help-text">Total Expense Ratio</span>
        </div>
    </div>

    <div class="swr-form-grid">
        <div class="swr-form-group">
            <label for="swr-start-year">Start Year</label>
            <input type="number" id="swr-start-year" value="1871" min="1871" max="2025">
        </div>
        <div class="swr-form-group">
            <label for="swr-end-year">End Year</label>
            <input type="number" id="swr-end-year" value="2025" min="1871" max="2025">
        </div>
        <div class="swr-form-group">
            <label for="swr-inflation">Inflation Data</label>
            <select id="swr-inflation">
                <option value="us_inflation" selected>US Inflation</option>
                <option value="no_inflation">No Inflation</option>
            </select>
        </div>
        <div class="swr-form-group">
            <label for="swr-withdraw-frequency">Withdrawal Frequency</label>
            <select id="swr-withdraw-frequency">
                <option value="1">Monthly</option>
                <option value="3">Quarterly</option>
                <option value="6">Semi-Annually</option>
                <option value="12" selected>Yearly</option>
            </select>
        </div>
    </div>

    
    <div class="swr-section-title">Portfolio Allocation</div>
    <div id="swr-portfolio-container">
        <div class="swr-portfolio-assets" id="swr-portfolio-list"></div>
        <div class="swr-portfolio-footer">
            <button class="swr-button" id="swr-add-asset-btn">+ Add Asset</button>
            <span class="swr-allocation-total" id="swr-allocation-total">Total: 0%</span>
        </div>
    </div>

    
    <div class="swr-advanced-toggle" style="display: none;">
        <button id="swr-advanced-toggle-btn">Show Advanced Options</button>
    </div>

    
    <div class="swr-advanced-options" id="swr-advanced-options">
        <div class="swr-section-title">Withdrawal Strategy</div>
        <div class="swr-form-grid">
            <div class="swr-form-group">
                <label for="swr-withdrawal-method">Withdrawal Method</label>
                <select id="swr-withdrawal-method">
                    <option value="standard" selected>Standard (Constant)</option>
                    <option value="current">Current Portfolio %</option>
                    <option value="vanguard">Vanguard Dynamic</option>
                </select>
                <span class="swr-help-text">How withdrawals adjust over time</span>
            </div>
            <div class="swr-form-group">
                <label for="swr-minimum">Minimum Withdrawal (% of initial)</label>
                <input type="number" id="swr-minimum" value="3.0" min="0" max="10" step="0.1">
                <span class="swr-help-text">Floor for dynamic methods</span>
            </div>
        </div>

        <div class="swr-section-title">Rebalancing</div>
        <div class="swr-form-grid">
            <div class="swr-form-group">
                <label for="swr-rebalance">Rebalancing Strategy</label>
                <select id="swr-rebalance">
                    <option value="none" selected>No Rebalancing</option>
                    <option value="monthly">Monthly</option>
                    <option value="yearly">Yearly</option>
                    <option value="threshold">Threshold-Based</option>
                </select>
            </div>
            <div class="swr-form-group">
                <label for="swr-threshold">Rebalancing Threshold (%)</label>
                <input type="number" id="swr-threshold" value="5.0" min="0" max="50" step="1">
                <span class="swr-help-text">Only for threshold-based</span>
            </div>
        </div>

        <div class="swr-section-title">Final Threshold</div>
        <div class="swr-form-grid">
            <div class="swr-form-group">
                <label for="swr-final-threshold">Required Final % of Initial</label>
                <input type="number" id="swr-final-threshold" value="0" min="0" max="100" step="1">
                <span class="swr-help-text">0 = Can deplete fully</span>
            </div>
            <div class="swr-form-group">
                <label for="swr-final-inflation">
                    <input type="checkbox" id="swr-final-inflation" checked>
                    Adjust final threshold for inflation
                </label>
            </div>
        </div>
    </div>

    
    <div style="text-align: center; margin-top: 2rem;">
        <button class="swr-button" id="swr-calculate-btn" style="font-size: 1.1rem; padding: 0.75rem 2rem;">
            Calculate Success Rate
        </button>
    </div>

    
    <div id="swr-results" style="display: none;"></div>
</div>

<script>
(function() {
    'use strict';

    
    const portfolioListDiv = document.getElementById('swr-portfolio-list');
    const addAssetBtn = document.getElementById('swr-add-asset-btn');
    const allocationTotalSpan = document.getElementById('swr-allocation-total');
    const calculateBtn = document.getElementById('swr-calculate-btn');
    const resultsDiv = document.getElementById('swr-results');
    const advancedToggleBtn = document.getElementById('swr-advanced-toggle-btn');
    const advancedOptions = document.getElementById('swr-advanced-options');

    
    const AVAILABLE_ASSETS = [
        { value: 'us_stocks', label: 'US Stocks' },
        { value: 'us_bonds', label: 'US Bonds' },
        { value: 'ex_us_stocks', label: 'International Stocks (Ex-US)' },
        { value: 'gold', label: 'Gold' },
        { value: 'commodities', label: 'Commodities' },
        { value: 'cash', label: 'Cash' }
    ];

    
    
    const MONTHLY_REBALANCING_COST = 0.005;    
    const YEARLY_REBALANCING_COST = 0.01;      
    const THRESHOLD_REBALANCING_COST = 0.01;   

    
    const embeddedData = {
        'us_stocks': `1,1871,100.00\n2,1871,101.87\n3,1871,104.87\n4,1871,108.45\n5,1871,111.47\n6,1871,111.08\n7,1871,109.55\n8,1871,111.18\n9,1871,112.81\n10,1871,107.49\n11,1871,109.13\n12,1871,112.25\n1,1872,115.42\n2,1872,116.54\n3,1872,120.62\n4,1872,124.73\n5,1872,125.26\n6,1872,124.59\n7,1872,124.23\n8,1872,123.32\n9,1872,122.12\n10,1872,123.07\n11,1872,123.38\n12,1872,126.80\n1,1873,128.35\n2,1873,130.23\n3,1873,129.65\n4,1873,128.47\n5,1873,129.50\n6,1873,128.64\n7,1873,129.07\n8,1873,129.82\n9,1873,120.51\n10,1873,110.84\n11,1873,107.56\n12,1873,118.48\n1,1874,125.34\n2,1874,129.55\n3,1874,128.43\n4,1874,125.28\n5,1874,122.89\n6,1874,122.89\n7,1874,123.57\n8,1874,124.60\n9,1874,127.37\n10,1874,127.72\n11,1874,129.13\n12,1874,129.49\n1,1875,130.26\n2,1875,130.68\n3,1875,132.89\n4,1875,135.42\n5,1875,131.06\n6,1875,128.87\n7,1875,129.91\n8,1875,131.32\n9,1875,130.52\n10,1875,129.34\n11,1875,131.89\n12,1875,132.61\n1,1876,136.42\n2,1876,139.10\n3,1876,139.47\n4,1876,134.79\n5,1876,130.46\n6,1876,130.41\n7,1876,129.53\n8,1876,124.73\n9,1876,117.92\n10,1876,117.79\n11,1876,116.46\n12,1876,116.34\n1,1877,116.13\n2,1877,109.83\n3,1877,104.70\n4,1877,97.90\n5,1877,98.45\n6,1877,91.92\n7,1877,96.19\n8,1877,103.36\n9,1877,110.13\n10,1877,113.10\n11,1877,111.84\n12,1877,111.85\n1,1878,112.31\n2,1878,110.63\n3,1878,112.83\n4,1878,116.78\n5,1878,117.69\n6,1878,120.75\n7,1878,123.38\n8,1878,122.50\n9,1878,125.63\n10,1878,124.78\n11,1878,124.84\n12,1878,124.45\n1,1879,129.93\n2,1879,134.96\n3,1879,133.67\n4,1879,138.28\n5,1879,145.23\n6,1879,147.16\n7,1879,150.02\n8,1879,151.98\n9,1879,158.12\n10,1879,175.92\n11,1879,185.86\n12,1879,186.06\n1,1880,193.78\n2,1880,198.24\n3,1880,202.22\n4,1880,198.64\n5,1880,183.65\n6,1880,184.91\n7,1880,194.36\n8,1880,202.40\n9,1880,202.73\n10,1880,209.39\n11,1880,221.46\n12,1880,231.13\n1,1881,245.74\n2,1881,245.62\n3,1881,249.43\n4,1881,249.78\n5,1881,261.61\n6,1881,265.50\n7,1881,257.38\n8,1881,252.23\n9,1881,255.19\n10,1881,252.06\n11,1881,254.53\n12,1881,248.43\n1,1882,245.32\n2,1882,241.17\n3,1882,241.67\n4,1882,242.64\n5,1882,240.52\n6,1882,240.51\n7,1882,255.28\n8,1882,263.75\n9,1882,267.50\n10,1882,261.69\n11,1882,251.57\n12,1882,253.79\n1,1883,253.86\n2,1883,249.05\n3,1883,253.49\n4,1883,260.14\n5,1883,256.37\n6,1883,260.34\n7,1883,257.13\n8,1883,246.64\n9,1883,250.68\n10,1883,245.18\n11,1883,249.85\n12,1883,245.95\n1,1884,239.73\n2,1884,247.26\n3,1884,247.33\n4,1884,238.70\n5,1884,219.50\n6,1884,211.98\n7,1884,213.20\n8,1884,228.10\n9,1884,221.51\n10,1884,215.42\n11,1884,212.33\n12,1884,212.85\n1,1885,209.04\n2,1885,216.51\n3,1885,218.07\n4,1885,218.57\n5,1885,217.07\n6,1885,217.07\n7,1885,226.13\n8,1885,239.77\n9,1885,237.68\n10,1885,252.45\n11,1885,269.81\n12,1885,268.69\n1,1886,269.64\n2,1886,275.77\n3,1886,270.98\n4,1886,268.25\n5,1886,263.95\n6,1886,276.91\n7,1886,282.01\n8,1886,285.00\n9,1886,293.32\n10,1886,301.67\n11,1886,310.04\n12,1886,302.93\n1,1887,300.65\n2,1887,299.43\n3,1887,307.41\n4,1887,315.40\n5,1887,321.80\n6,1887,313.51\n7,1887,306.91\n8,1887,300.28\n9,1887,297.49\n10,1887,288.65\n11,1887,295.33\n12,1887,294.80\n1,1888,298.17\n2,1888,297.62\n3,1888,287.50\n4,1888,289.79\n5,1888,294.90\n6,1888,286.83\n7,1888,295.34\n8,1888,302.73\n9,1888,311.27\n10,1888,310.55\n11,1888,305.14\n12,1888,300.29\n1,1889,307.10\n2,1889,311.60\n3,1889,306.13\n4,1889,306.54\n5,1889,315.82\n6,1889,322.19\n7,1889,316.71\n8,1889,321.97\n9,1889,330.84\n10,1889,325.90\n11,1889,323.96\n12,1889,323.23\n1,1890,327.86\n2,1890,325.20\n3,1890,323.77\n4,1890,331.54\n5,1890,346.71\n6,1890,345.27\n7,1890,343.89\n8,1890,336.90\n9,1890,332.39\n10,1890,318.41\n11,1890,296.25\n12,1890,290.38\n1,1891,306.60\n2,1891,311.48\n3,1891,306.85\n4,1891,318.15\n5,1891,317.99\n6,1891,312.71\n7,1891,308.72\n8,1891,320.23\n9,1891,347.35\n10,1891,348.49\n11,1891,344.42\n12,1891,356.10\n1,1892,363.87\n2,1892,365.72\n3,1892,370.91\n4,1892,371.47\n5,1892,372.71\n6,1892,371.94\n7,1892,373.17\n8,1892,379.79\n9,1892,371.56\n10,1892,380.27\n11,1892,380.19\n12,1892,377.37\n1,1893,385.55\n2,1893,380.02\n3,1893,367.61\n4,1893,368.98\n5,1893,337.67\n6,1893,322.98\n7,1893,294.21\n8,1893,288.51\n9,1893,310.37\n10,1893,320.88\n11,1893,327.16\n12,1893,316.99\n1,1894,311.78\n2,1894,317.31\n3,1894,327.94\n4,1894,333.51\n5,1894,322.32\n6,1894,319.13\n7,1894,313.72\n8,1894,326.77\n9,1894,333.19\n10,1894,324.01\n11,1894,325.23\n12,1894,323.46\n1,1895,320.92\n2,1895,317.62\n3,1895,318.84\n4,1895,333.71\n5,1895,353.20\n6,1895,361.24\n7,1895,363.91\n8,1895,370.44\n9,1895,373.91\n10,1895,369.63\n11,1895,358.34\n12,1895,338.40\n1,1896,335.56\n2,1896,350.76\n3,1896,346.40\n4,1896,350.73\n5,1896,350.28\n6,1896,345.08\n7,1896,323.88\n8,1896,306.62\n9,1896,323.88\n10,1896,332.29\n11,1896,356.13\n12,1896,344.27\n1,1897,345.42\n2,1897,343.32\n3,1897,345.31\n4,1897,335.75\n5,1897,338.57\n6,1897,355.50\n7,1897,372.50\n8,1897,397.87\n9,1897,418.30\n10,1897,406.02\n11,1897,392.89\n12,1897,402.53\n1,1898,414.73\n2,1898,415.10\n3,1898,397.58\n4,1898,391.98\n5,1898,418.95\n6,1898,436.55\n7,1898,439.58\n8,1898,457.31\n9,1898,457.79\n10,1898,449.57\n11,1898,465.81\n12,1898,496.14\n1,1899,535.31\n2,1899,556.94\n3,1899,566.25\n4,1899,574.70\n5,1899,552.14\n6,1899,541.07\n7,1899,561.27\n8,1899,577.04\n9,1899,572.24\n10,1899,571.07\n11,1899,583.43\n12,1899,545.27\n1,1900,554.22\n2,1900,565.93\n3,1900,572.21\n4,1900,581.30\n5,1900,555.58\n6,1900,540.82\n7,1900,542.59\n8,1900,551.84\n9,1900,551.84\n10,1900,540.73\n11,1900,562.32\n12,1900,608.32\n1,1901,667.84\n2,1901,686.88\n3,1901,713.45\n4,1901,775.22\n5,1901,738.13\n6,1901,813.76\n7,1901,761.35\n8,1901,774.07\n9,1901,772.48\n10,1901,766.08\n11,1901,784.80\n12,1901,774.56\n1,1902,793.52\n2,1902,802.72\n3,1902,806.15\n4,1902,836.14\n5,1902,836.53\n6,1902,834.05\n7,1902,855.40\n8,1902,880.82\n9,1902,885.39\n10,1902,859.95\n11,1902,829.37\n12,1902,812.84\n1,1903,856.87\n2,1903,854.46\n3,1903,823.59\n4,1903,792.61\n5,1903,779.94\n6,1903,739.60\n7,1903,718.73\n8,1903,688.44\n9,1903,674.64\n10,1903,655.56\n11,1903,660.50\n12,1903,693.63\n1,1904,707.79\n2,1904,691.29\n3,1904,691.74\n4,1904,711.41\n5,1904,699.02\n6,1904,702.71\n7,1904,734.49\n8,1904,762.06\n9,1904,798.42\n10,1904,847.98\n11,1904,896.61\n12,1904,908.08\n1,1905,930.64\n2,1905,974.30\n3,1905,1004.79\n4,1905,995.41\n5,1905,949.25\n6,1905,963.22\n7,1905,996.27\n8,1905,1036.22\n9,1905,1042.51\n10,1905,1060.17\n11,1905,1057.48\n12,1905,1086.60\n1,1906,1127.20\n2,1906,1122.29\n3,1906,1098.01\n4,1906,1086.27\n5,1906,1060.68\n6,1906,1077.74\n7,1906,1053.15\n8,1906,1134.20\n9,1906,1172.56\n10,1906,1169.00\n11,1906,1167.83\n12,1906,1160.93\n1,1907,1131.62\n2,1907,1099.90\n3,1907,995.84\n4,1907,1004.67\n5,1907,973.98\n6,1907,946.82\n7,1907,987.21\n8,1907,917.37\n9,1907,911.87\n10,1907,817.01\n11,1907,773.21\n12,1907,816.95\n1,1908,855.94\n2,1908,828.84\n3,1908,866.79\n4,1908,917.54\n5,1908,976.28\n6,1908,976.28\n7,1908,1016.12\n8,1908,1063.82\n9,1908,1056.32\n10,1908,1073.45\n11,1908,1150.36\n12,1908,1180.60\n1,1909,1188.83\n2,1909,1159.05\n3,1909,1179.23\n4,1909,1236.54\n5,1909,1282.12\n6,1909,1309.26\n7,1909,1332.53\n8,1909,1369.28\n9,1909,1375.31\n10,1909,1385.42\n11,1909,1383.37\n12,1909,1404.54\n1,1910,1379.35\n2,1910,1334.94\n3,1910,1372.84\n4,1910,1344.69\n5,1910,1327.52\n6,1910,1268.74\n7,1910,1209.74\n8,1910,1244.32\n9,1910,1258.05\n10,1910,1321.27\n11,1910,1325.21\n12,1910,1293.60\n1,1911,1330.63\n2,1911,1359.21\n3,1911,1348.81\n4,1911,1348.50\n5,1911,1383.08\n6,1911,1416.33\n7,1911,1415.99\n8,1911,1353.91\n9,1911,1285.64\n10,1911,1298.62\n11,1911,1356.32\n12,1911,1367.92\n1,1912,1374.95\n2,1912,1368.47\n3,1912,1413.59\n4,1912,1463.47\n5,1912,1464.71\n6,1912,1473.61\n7,1912,1481.00\n8,1912,1520.82\n9,1912,1534.39\n10,1912,1537.15\n11,1912,1525.86\n12,1912,1476.92\n1,1913,1470.26\n2,1913,1423.93\n3,1913,1402.92\n4,1913,1407.31\n5,1913,1374.92\n6,1913,1311.91\n7,1913,1335.88\n8,1913,1377.79\n9,1913,1397.06\n10,1913,1358.84\n11,1913,1330.58\n12,1913,1334.89\n1,1914,1395.59\n2,1914,1419.93\n3,1914,1399.06\n4,1914,1371.35\n5,1914,1385.73\n6,1914,1384.77\n7,1914,1313.92\n8,1914,1204.61\n9,1914,1209.95\n10,1914,1149.09\n11,1914,1198.59\n12,1914,1285.78\n1,1915,1314.61\n2,1915,1303.17\n3,1915,1342.73\n4,1915,1449.89\n5,1915,1422.13\n6,1915,1444.33\n7,1915,1444.95\n8,1915,1512.36\n9,1915,1574.60\n10,1915,1667.98\n11,1915,1732.48\n12,1915,1742.39\n1,1916,1721.23\n2,1916,1703.66\n3,1916,1705.40\n4,1916,1694.11\n5,1916,1738.82\n6,1916,1763.69\n7,1916,1747.33\n8,1916,1768.83\n9,1916,1849.54\n10,1916,1915.41\n11,1916,1968.14\n12,1916,1898.13\n1,1917,1861.44\n2,1917,1767.93\n3,1917,1832.71\n4,1917,1815.17\n5,1917,1763.91\n6,1917,1810.36\n7,1917,1771.17\n8,1917,1729.56\n9,1917,1657.31\n10,1917,1578.45\n11,1917,1457.85\n12,1917,1419.06\n1,1918,1532.27\n2,1918,1574.49\n3,1918,1524.69\n4,1918,1554.82\n5,1918,1590.12\n6,1918,1635.96\n7,1918,1636.11\n8,1918,1682.61\n9,1918,1664.49\n10,1918,1760.80\n11,1918,1744.79\n12,1918,1781.67\n1,1919,1763.08\n2,1919,1832.45\n3,1919,1852.92\n4,1919,1959.86\n5,1919,2129.58\n6,1919,2078.81\n7,1919,2216.64\n8,1919,2053.06\n9,1919,2103.47\n10,1919,2273.36\n11,1919,2149.02\n12,1919,2150.03\n1,1920,2097.67\n2,1920,1952.27\n3,1920,2154.50\n4,1920,2007.56\n5,1920,1937.22\n6,1920,1929.86\n7,1920,1893.72\n8,1920,1937.92\n9,1920,1937.92\n10,1920,1971.91\n11,1920,1823.00\n12,1920,1726.70\n1,1921,1808.51\n2,1921,1803.68\n3,1921,1771.43\n4,1921,1820.91\n5,1921,1796.62\n6,1921,1673.89\n7,1921,1729.59\n8,1921,1704.88\n9,1921,1761.04\n10,1921,1811.36\n11,1921,1937.66\n12,1921,1978.77\n1,1922,2005.12\n2,1922,2076.45\n3,1922,2154.48\n4,1922,2287.59\n5,1922,2414.93\n6,1922,2324.24\n7,1922,2364.52\n8,1922,2543.48\n9,1922,2518.06\n10,1922,2588.78\n11,1922,2473.41\n12,1922,2528.74\n1,1923,2542.68\n2,1923,2719.12\n3,1923,2692.53\n4,1923,2631.96\n5,1923,2537.09\n6,1923,2352.34\n7,1923,2409.23\n8,1923,2459.61\n9,1923,2395.11\n10,1923,2400.44\n11,1923,2546.96\n12,1923,2634.18\n1,1924,2725.45\n2,1924,2681.16\n3,1924,2622.33\n4,1924,2613.66\n5,1924,2641.36\n6,1924,2749.64\n7,1924,2884.25\n8,1924,2912.39\n9,1924,2929.57\n10,1924,2917.20\n11,1924,3132.47\n12,1924,3311.28\n1,1925,3392.82\n2,1925,3437.13\n3,1925,3223.17\n4,1925,3336.71\n5,1925,3523.78\n6,1925,3554.00\n7,1925,3696.79\n8,1925,3723.81\n9,1925,3837.00\n10,1925,4072.57\n11,1925,4077.08\n12,1925,4289.65\n1,1926,4299.56\n2,1926,4126.53\n3,1926,3898.71\n4,1926,3994.15\n5,1926,4052.64\n6,1926,4245.33\n7,1926,4342.75\n8,1926,4551.62\n9,1926,4675.18\n10,1926,4548.08\n11,1926,4669.49\n12,1926,4767.44\n1,1927,4688.44\n2,1927,4932.67\n3,1927,4985.18\n4,1927,5091.65\n5,1927,5378.71\n6,1927,5349.04\n7,1927,5718.92\n8,1927,5995.87\n9,1927,6211.46\n10,1927,5965.70\n11,1927,6392.59\n12,1927,6537.39\n1,1928,6526.68\n2,1928,6434.39\n3,1928,7156.00\n4,1928,7411.93\n5,1928,7529.21\n6,1928,7248.00\n7,1928,7363.11\n8,1928,7934.44\n9,1928,8149.72\n10,1928,8293.43\n11,1928,9314.66\n12,1928,9368.60\n1,1929,9929.73\n2,1929,9898.52\n3,1929,9901.73\n4,1929,10088.07\n5,1929,9682.55\n6,1929,10799.69\n7,1929,11321.16\n8,1929,12460.78\n9,1929,11880.34\n10,1929,9538.86\n11,1929,8293.22\n12,1929,8534.15\n1,1930,9101.72\n2,1930,9328.95\n3,1930,10102.86\n4,1930,10037.12\n5,1930,9907.09\n6,1930,8306.94\n7,1930,8640.33\n8,1930,8738.66\n9,1930,7627.41\n10,1930,6979.34\n11,1930,6859.77\n12,1930,6378.65\n1,1931,6722.90\n2,1931,7521.95\n3,1931,7026.97\n4,1931,6380.76\n5,1931,5533.66\n6,1931,6334.24\n7,1931,5886.95\n8,1931,5973.94\n9,1931,4204.05\n10,1931,4585.66\n11,1931,4158.98\n12,1931,3581.11\n1,1932,3498.06\n2,1932,3706.39\n3,1932,3286.60\n4,1932,2637.38\n5,1932,2037.58\n6,1932,2036.57\n7,1932,2820.80\n8,1932,3900.05\n9,1932,3775.03\n10,1932,3260.94\n11,1932,3087.27\n12,1932,3263.78\n1,1933,3303.17\n2,1933,2705.45\n3,1933,2809.83\n4,1933,4015.06\n5,1933,4675.87\n6,1933,5306.89\n7,1933,4847.61\n8,1933,5420.38\n9,1933,4817.56\n10,1933,4398.06\n11,1933,4869.51\n12,1933,4990.15\n1,1934,5535.25\n2,1934,5344.20\n3,1934,5359.56\n4,1934,5229.90\n5,1934,4816.96\n6,1934,4933.08\n7,1934,4377.19\n8,1934,4628.09\n9,1934,4625.08\n10,1934,4487.00\n11,1934,4882.45\n12,1934,4873.35\n1,1935,4689.24\n2,1935,4517.25\n3,1935,4390.20\n4,1935,4831.88\n5,1935,5005.59\n6,1935,5359.68\n7,1935,5825.84\n8,1935,5970.92\n9,1935,6129.76\n10,1935,6616.87\n11,1935,6891.64\n12,1935,7173.97\n1,1936,7666.84\n2,1936,7817.30\n3,1936,8035.76\n4,1936,7436.53\n5,1936,7801.51\n6,1936,8065.26\n7,1936,8647.46\n8,1936,8743.85\n9,1936,8785.44\n10,1936,9481.89\n11,1936,9549.66\n12,1936,9527.10\n1,1937,9924.99\n2,1937,10107.03\n3,1937,10043.52\n4,1937,9249.92\n5,1937,9190.07\n6,1937,8745.56\n7,1937,9675.81\n8,1937,9181.22\n9,1937,7913.58\n10,1937,7148.29\n11,1937,6458.85\n12,1937,6168.06\n1,1938,6294.54\n2,1938,6718.36\n3,1938,5071.71\n4,1938,5822.24\n5,1938,5602.17\n6,1938,7024.76\n7,1938,7563.17\n8,1938,7389.21\n9,1938,7538.73\n10,1938,8131.05\n11,1938,7892.79\n12,1938,8215.80\n1,1939,7678.87\n2,1939,7957.39\n3,1939,6904.14\n4,1939,6892.28\n5,1939,7349.44\n6,1939,6906.59\n7,1939,7689.44\n8,1939,7172.33\n9,1939,8381.49\n10,1939,8293.09\n11,1939,7919.57\n12,1939,8141.08\n1,1940,7888.07\n2,1940,7971.88\n3,1940,8089.13\n4,1940,8083.29\n5,1940,6181.88\n6,1940,6696.79\n7,1940,6936.92\n8,1940,7152.82\n9,1940,7267.50\n10,1940,7588.71\n11,1940,7307.86\n12,1940,7320.25\n1,1941,7010.94\n2,1941,6945.15\n3,1941,7011.28\n4,1941,6599.74\n5,1941,6658.29\n6,1941,7058.23\n7,1941,7488.12\n8,1941,7466.70\n9,1941,7435.91\n10,1941,6974.15\n11,1941,6721.98\n12,1941,6458.86\n1,1942,6590.62\n2,1942,6423.86\n3,1942,6075.53\n4,1942,5851.80\n5,1942,6268.15\n6,1942,6425.81\n7,1942,6667.08\n8,1942,6754.04\n9,1942,6974.76\n10,1942,7462.71\n11,1942,7398.67\n12,1942,7820.11\n1,1943,8419.79\n2,1943,8885.52\n3,1943,9393.71\n4,1943,9441.70\n5,1943,9905.35\n6,1943,10141.90\n7,1943,9632.77\n8,1943,9772.94\n9,1943,10046.27\n10,1943,9955.51\n11,1943,9246.32\n12,1943,9834.38\n1,1944,10029.59\n2,1944,10047.97\n3,1944,10261.92\n4,1944,10178.70\n5,1944,10635.32\n6,1944,11223.03\n7,1944,11035.73\n8,1944,11177.53\n9,1944,11189.17\n10,1944,11235.89\n11,1944,11326.75\n12,1944,11771.12\n1,1945,11987.59\n2,1945,12774.50\n3,1945,12233.34\n4,1945,13358.17\n5,1945,13559.95\n6,1945,13563.65\n7,1945,13341.50\n8,1945,14165.16\n9,1945,14808.98\n10,1945,15308.37\n11,1945,15855.43\n12,1945,16062.94\n1,1946,17234.94\n2,1946,16090.34\n3,1946,16888.01\n4,1946,17576.04\n5,1946,18022.69\n6,1946,17371.20\n7,1946,16982.09\n8,1946,15797.90\n9,1946,14251.10\n10,1946,14199.52\n11,1946,14087.43\n12,1946,14748.93\n1,1947,15146.62\n2,1947,14987.12\n3,1947,14799.05\n4,1947,14283.61\n5,1947,14214.01\n6,1947,15027.99\n7,1947,15640.44\n8,1947,15256.03\n9,1947,15108.22\n10,1947,15505.86\n11,1947,15133.13\n12,1947,15521.78\n1,1948,14980.44\n2,1948,14346.62\n3,1948,15515.92\n4,1948,16003.58\n5,1948,17326.87\n6,1948,17465.80\n7,1948,16595.87\n8,1948,16803.82\n9,1948,16376.56\n10,1948,17563.48\n11,1948,15746.38\n12,1948,16313.24\n1,1949,16427.98\n2,1949,15863.87\n3,1949,16430.76\n4,1949,16180.03\n5,1949,15665.33\n6,1949,15717.46\n7,1949,16806.50\n8,1949,17100.15\n9,1949,17593.53\n10,1949,18221.12\n11,1949,18349.38\n12,1949,19260.20\n1,1950,19705.47\n2,1950,20014.56\n3,1950,20209.29\n4,1950,21237.86\n5,1950,22189.86\n6,1950,21020.05\n7,1950,21330.07\n8,1950,22156.04\n9,1950,23527.72\n10,1950,23772.74\n11,1950,23897.41\n12,1950,25149.80\n1,1951,26846.23\n2,1951,27176.69\n3,1951,26835.88\n4,1951,28290.42\n5,1951,27306.64\n6,1951,26760.96\n7,1951,28761.32\n8,1951,30191.47\n9,1951,30191.47\n10,1951,29928.71\n11,1951,30003.67\n12,1951,31324.80\n1,1952,31977.55\n2,1952,30966.15\n3,1952,32598.52\n4,1952,31362.58\n5,1952,32236.28\n6,1952,33889.98\n7,1952,34659.69\n8,1952,34326.57\n9,1952,33819.25\n10,1952,33945.31\n11,1952,35695.51\n12,1952,37120.23\n1,1953,37020.27\n2,1953,36513.08\n3,1953,35809.32\n4,1953,35024.11\n5,1953,35093.04\n6,1953,34686.10\n7,1953,35742.55\n8,1953,33840.81\n9,1953,34048.72\n10,1953,35970.23\n11,1953,36460.96\n12,1953,36712.38\n1,1954,38775.70\n2,1954,39070.80\n3,1954,40420.24\n4,1954,42586.30\n5,1954,44172.67\n6,1954,44393.23\n7,1954,47105.64\n8,1954,45697.31\n9,1954,49684.42\n10,1954,48914.81\n11,1954,53059.63\n12,1954,55951.04\n1,1955,57151.37\n2,1955,57570.95\n3,1955,57498.77\n4,1955,59854.16\n5,1955,59981.54\n6,1955,65125.23\n7,1955,69310.75\n8,1955,68984.32\n9,1955,69984.22\n10,1955,68064.23\n11,1955,73385.17\n12,1955,73535.76\n1,1956,71101.26\n2,1956,73787.11\n3,1956,79146.13\n4,1956,79226.44\n5,1956,74254.75\n6,1956,77418.25\n7,1956,81656.45\n8,1956,78786.66\n9,1956,75469.34\n10,1956,76107.16\n11,1956,75508.44\n12,1956,78408.96\n1,1957,75371.77\n2,1957,73149.36\n3,1957,74830.29\n4,1957,77839.93\n5,1957,80961.47\n6,1957,81105.00\n7,1957,82280.44\n8,1957,77912.39\n9,1957,73340.86\n10,1957,71247.45\n11,1957,72651.49\n12,1957,69898.84\n1,1958,73145.30\n2,1958,71895.28\n3,1958,74372.80\n4,1958,76994.53\n5,1958,78401.89\n6,1958,80702.93\n7,1958,84438.96\n8,1958,85698.74\n9,1958,90103.64\n10,1958,92652.07\n11,1958,94990.72\n12,1958,100196.11\n1,1959,100844.59\n2,1959,101094.42\n3,1959,101418.04\n4,1959,105624.14\n5,1959,107896.82\n6,1959,107784.83\n7,1959,111823.35\n8,1959,110420.68\n9,1959,105660.61\n10,1959,107132.63\n11,1959,108832.18\n12,1959,112123.89\n1,1960,104413.82\n2,1960,105675.22\n3,1960,104511.26\n4,1960,102986.57\n5,1960,106059.64\n6,1960,108439.37\n7,1960,106062.48\n8,1960,109143.16\n9,1960,102862.72\n10,1960,102924.13\n11,1960,107382.03\n12,1960,112665.49\n1,1961,120094.43\n2,1961,123635.78\n3,1961,127107.81\n4,1961,127912.03\n5,1961,130676.33\n6,1961,127243.77\n7,1961,131718.58\n8,1961,134625.56\n9,1961,132298.71\n10,1961,136379.13\n11,1961,142079.54\n12,1961,142872.70\n1,1962,137800.38\n2,1962,140383.11\n3,1962,139901.15\n4,1962,131577.08\n5,1962,120608.50\n6,1962,111085.12\n7,1962,118497.36\n8,1962,120661.40\n9,1962,115198.78\n10,1962,116074.11\n11,1962,128226.66\n12,1962,130322.71\n1,1963,137095.55\n2,1963,133510.65\n3,1963,138617.62\n4,1963,145724.92\n5,1963,148195.75\n6,1963,145586.11\n7,1963,145469.31\n8,1963,152948.52\n9,1963,151649.04\n10,1963,156936.58\n11,1963,155685.05\n12,1963,159894.58\n1,1964,164613.17\n2,1964,166651.28\n3,1964,169594.80\n4,1964,171052.07\n5,1964,173437.77\n6,1964,176713.82\n7,1964,180376.37\n8,1964,177889.55\n9,1964,183440.44\n10,1964,185376.86\n11,1964,184870.57\n12,1964,186049.48\n1,1965,192684.33\n2,1965,192866.42\n3,1965,190533.69\n4,1965,197538.45\n5,1965,196490.72\n6,1965,187417.99\n7,1965,190429.44\n8,1965,195213.20\n9,1965,201958.22\n10,1965,207989.19\n11,1965,206676.57\n12,1965,209037.42\n1,1966,210578.51\n2,1966,207340.60\n3,1966,203344.71\n4,1966,208052.87\n5,1966,197328.39\n6,1966,194684.20\n7,1966,192618.91\n8,1966,178197.70\n9,1966,177505.53\n10,1966,186499.67\n11,1966,187637.59\n12,1966,187915.10\n1,1967,203171.44\n2,1967,204136.83\n3,1967,212751.22\n4,1967,222306.85\n5,1967,211221.07\n6,1967,215493.16\n7,1967,225842.71\n8,1967,231695.47\n9,1967,231695.47\n10,1967,225546.37\n11,1967,226371.73\n12,1967,232906.62\n1,1968,223288.02\n2,1968,216911.19\n3,1968,219546.84\n4,1968,237822.58\n5,1968,241407.66\n6,1968,244218.41\n7,1968,240325.08\n8,1968,253712.98\n9,1968,253712.98\n10,1968,256174.10\n11,1968,269094.46\n12,1968,258531.79\n1,1969,257059.11\n2,1969,245526.04\n3,1969,254628.50\n4,1969,260751.41\n5,1969,260829.96\n6,1969,246990.70\n7,1969,232790.77\n8,1969,242785.47\n9,1969,237376.84\n10,1969,248243.95\n11,1969,240456.81\n12,1969,236645.64\n1,1970,219228.22\n2,1970,231460.92\n3,1970,232480.93\n4,1970,212132.53\n5,1970,199888.42\n6,1970,190578.98\n7,1970,205244.60\n8,1970,215067.99\n9,1970,223104.67\n10,1970,221017.98\n11,1970,232199.23\n12,1970,246077.56\n1,1971,256729.46\n2,1971,259751.96\n3,1971,270005.48\n4,1971,280498.15\n5,1971,269537.83\n6,1971,270426.25\n7,1971,259948.98\n8,1971,270032.21\n9,1971,268852.40\n10,1971,258315.90\n11,1971,258360.10\n12,1971,281329.31\n1,1972,287131.49\n2,1972,294051.09\n3,1972,297555.37\n4,1972,299569.74\n5,1972,304953.90\n6,1972,299505.29\n7,1972,300922.14\n8,1972,312008.63\n9,1972,311213.88\n10,1972,314851.64\n11,1972,330520.74\n12,1972,334600.73\n1,1973,329623.44\n2,1973,318016.62\n3,1973,318312.57\n4,1973,306091.32\n5,1973,301079.45\n6,1973,299870.17\n7,1973,312043.16\n8,1973,301382.57\n9,1973,314255.67\n10,1973,314665.93\n11,1973,279655.70\n12,1973,285109.12\n1,1974,283082.21\n2,1974,282897.70\n3,1974,277154.59\n4,1974,267192.61\n5,1974,259090.91\n6,1974,256157.09\n7,1974,237122.22\n8,1974,216610.37\n9,1974,191659.40\n10,1974,223813.50\n11,1974,212820.56\n12,1974,209444.24\n1,1975,236101.32\n2,1975,251178.81\n3,1975,257568.81\n4,1975,270698.10\n5,1975,283594.71\n6,1975,297126.89\n7,1975,277989.99\n8,1975,273100.96\n9,1975,264610.31\n10,1975,281888.53\n11,1975,289823.50\n12,1975,287462.24\n1,1976,322451.17\n2,1976,319757.49\n3,1976,330556.49\n4,1976,327929.89\n5,1976,324229.43\n6,1976,338514.26\n7,1976,336828.39\n8,1976,344806.18\n9,1976,344806.18\n10,1976,338246.40\n11,1976,336727.02\n12,1976,355517.78\n1,1977,338709.44\n2,1977,332532.69\n3,1977,329032.78\n4,1977,330314.57\n5,1977,323750.06\n6,1977,339659.36\n7,1977,335416.35\n8,1977,329630.91\n9,1977,330090.28\n10,1977,317093.78\n11,1977,326979.54\n12,1977,329252.22\n1,1978,310383.87\n2,1978,304088.07\n3,1978,313066.62\n4,1978,341243.35\n5,1978,344130.39\n6,1978,339526.84\n7,1978,359318.63\n8,1978,370126.47\n9,1978,368939.32\n10,1978,336673.43\n11,1978,343801.60\n12,1978,350455.75\n1,1979,365964.01\n2,1979,354183.65\n3,1979,375311.99\n4,1979,377584.77\n5,1979,369291.84\n6,1979,385225.98\n7,1979,390314.50\n8,1979,412757.85\n9,1979,414491.43\n10,1979,387840.37\n11,1979,406164.48\n12,1979,414774.58\n1,1980,440532.86\n2,1980,440467.47\n3,1980,397502.81\n4,1980,415784.03\n5,1980,437083.79\n6,1980,450816.48\n7,1980,482133.49\n8,1980,486951.41\n9,1980,501220.23\n10,1980,511300.03\n11,1980,565702.71\n12,1980,548607.74\n1,1981,525628.92\n2,1981,534729.11\n3,1981,556129.68\n4,1981,545262.03\n5,1981,546545.31\n6,1981,543051.83\n7,1981,544100.27\n8,1981,512570.32\n9,1981,487245.04\n10,1981,513509.50\n11,1981,534627.81\n12,1981,520886.57\n1,1982,514127.83\n2,1982,485389.18\n3,1982,482856.45\n4,1982,504625.72\n5,1982,487324.35\n6,1982,479907.48\n7,1982,471374.78\n8,1982,528555.37\n9,1982,535105.33\n10,1982,596706.54\n11,1982,620816.82\n12,1982,632790.14\n1,1983,656350.39\n2,1983,671409.56\n3,1983,696242.32\n4,1983,751037.77\n5,1983,744404.58\n6,1983,773367.51\n7,1983,750521.46\n8,1983,761711.04\n9,1983,772192.99\n10,1983,763225.87\n11,1983,779282.40\n12,1983,775165.88\n1,1984,770831.60\n2,1984,743699.13\n3,1984,756570.40\n4,1984,763602.46\n5,1984,721186.75\n6,1984,736696.05\n7,1984,727535.17\n8,1984,807866.95\n9,1984,808034.51\n10,1984,811036.01\n11,1984,801841.38\n12,1984,822856.26\n1,1985,886955.24\n2,1985,897762.14\n3,1985,898348.49\n4,1985,897425.53\n5,1985,949148.49\n6,1985,963891.69\n7,1985,962504.52\n8,1985,954256.37\n9,1985,924429.07\n10,1985,967066.34\n11,1985,1033341.30\n12,1985,1083270.48\n1,1986,1089263.50\n2,1986,1170567.48\n3,1986,1235816.97\n4,1986,1221824.96\n5,1986,1286693.06\n6,1986,1308359.95\n7,1986,1235163.54\n8,1986,1326681.46\n9,1986,1216931.12\n10,1986,1287158.99\n11,1986,1318441.14\n12,1986,1284796.00\n1,1987,1457773.33\n2,1987,1515290.29\n3,1987,1558985.34\n4,1987,1544923.40\n5,1987,1558053.56\n6,1987,1636516.58\n7,1987,1719323.76\n8,1987,1783329.33\n9,1987,1744134.13\n10,1987,1368537.43\n11,1987,1255729.38\n12,1987,1351231.68\n1,1988,1397279.02\n2,1988,1473705.53\n3,1988,1428177.75\n4,1988,1445623.23\n5,1988,1456462.40\n6,1988,1523302.10\n7,1988,1518998.15\n8,1988,1466005.46\n9,1988,1528464.65\n10,1988,1571022.87\n11,1988,1548633.60\n12,1988,1562163.41\n1,1989,1691030.27\n2,1989,1648887.68\n3,1989,1687355.24\n4,1989,1772493.55\n5,1989,1846776.30\n6,1989,1836303.54\n7,1989,2002101.22\n8,1989,2041241.44\n9,1989,2043106.30\n10,1989,1985754.97\n11,1989,2026251.45\n12,1989,2111843.68\n1,1990,1935611.52\n2,1990,1960543.79\n3,1990,2005541.10\n4,1990,1962288.34\n5,1990,2153619.86\n6,1990,2148216.69\n7,1990,2132231.38\n8,1990,1939499.84\n9,1990,1899320.55\n10,1990,1837255.11\n11,1990,1956015.63\n12,1990,2010501.30\n1,1991,2098062.30\n2,1991,2248104.36\n3,1991,2279085.13\n4,1991,2307993.22\n5,1991,2407558.24\n6,1991,2339187.27\n7,1991,2404337.11\n8,1991,2441218.71\n9,1991,2420109.14\n10,1991,2452648.51\n11,1991,2393547.16\n12,1991,2623018.11\n1,1992,2574137.96\n2,1992,2607475.78\n3,1992,2556763.57\n4,1992,2631833.82\n5,1992,2658045.79\n6,1992,2605386.69\n7,1992,2711826.00\n8,1992,2656323.12\n9,1992,2687539.04\n10,1992,2723917.52\n11,1992,2788651.73\n12,1992,2822875.50\n1,1993,2871296.27\n2,1993,2876951.02\n3,1993,2946147.77\n4,1993,2874938.50\n5,1993,2976122.28\n6,1993,2960486.97\n7,1993,2962745.59\n8,1993,3060456.68\n9,1993,3036990.05\n10,1993,3108943.08\n11,1993,3070262.24\n12,1993,3107384.47\n1,1994,3213025.33\n2,1994,3125819.81\n3,1994,2989542.72\n4,1994,3043044.01\n5,1994,3077568.56\n6,1994,3002131.90\n7,1994,3120154.13\n8,1994,3227840.32\n9,1994,3148909.09\n10,1994,3219653.52\n11,1994,3102375.05\n12,1994,3147410.64\n1,1995,3230066.12\n2,1995,3355947.01\n3,1995,3454970.62\n4,1995,3554459.07\n5,1995,3698862.80\n6,1995,3784777.69\n7,1995,3910292.17\n8,1995,3920119.61\n9,1995,4066858.52\n10,1995,4070954.65\n11,1995,4249664.17\n12,1995,4365285.60\n1,1996,4478949.18\n2,1996,4520473.80\n3,1996,4622220.87\n4,1996,4631277.21\n5,1996,4750715.85\n6,1996,4806924.20\n7,1996,4558148.38\n8,1996,4673802.62\n9,1996,4916267.44\n10,1996,5051860.93\n11,1996,5430515.34\n12,1996,5326050.27\n1,1997,5658794.09\n2,1997,5703146.08\n3,1997,5468911.80\n4,1997,5795295.40\n5,1997,6134290.05\n6,1997,6423578.76\n7,1997,6934687.57\n8,1997,6750908.46\n9,1997,6904707.59\n10,1997,6674110.07\n11,1997,7124859.70\n12,1997,7102995.43\n1,1998,7335386.72\n2,1998,7687665.10\n3,1998,8093811.18\n4,1998,8175241.65\n5,1998,8036180.94\n6,1998,8361087.96\n7,1998,8272055.86\n8,1998,7076105.33\n9,1998,7529403.43\n10,1998,8237706.31\n11,1998,8635321.06\n12,1998,9132932.86\n1,1999,9465463.39\n2,1999,9203228.85\n3,1999,9587970.03\n4,1999,9959268.91\n5,1999,9667765.33\n6,1999,10263755.42\n7,1999,9938290.58\n8,1999,9894080.78\n9,1999,9622844.59\n10,1999,10165743.54\n11,1999,10439779.76\n12,1999,11054642.69\n1,2000,10499231.11\n2,2000,10300483.90\n3,2000,11308116.21\n4,2000,11087422.69\n5,2000,10742920.95\n6,2000,11007769.58\n7,2000,10835671.84\n8,2000,11508722.82\n9,2000,10899016.98\n10,2000,10855053.27\n11,2000,9999245.85\n12,2000,9766515.50\n1,2001,10404686.46\n2,2001,9455969.55\n3,2001,8746556.50\n4,2001,9545204.00\n5,2001,9609156.18\n6,2001,9469400.93\n7,2001,9282991.33\n8,2001,8701859.98\n9,2001,7980803.85\n10,2001,8151698.45\n11,2001,8776984.92\n12,2001,8853876.28\n1,2002,8724670.35\n2,2002,8556411.71\n3,2002,8871633.48\n4,2002,8339945.57\n5,2002,8278503.58\n6,2002,7524383.07\n7,2002,7089449.21\n8,2002,6839710.88\n9,2002,6360457.85\n10,2002,6920282.74\n11,2002,7313675.58\n12,2002,6897122.37\n1,2003,6716444.07\n2,2003,6615670.45\n3,2003,6679901.53\n4,2003,7230128.68\n5,2003,7638270.88\n6,2003,7708156.70\n7,2003,7844061.91\n8,2003,8108095.69\n9,2003,7912115.69\n10,2003,8359704.35\n11,2003,8528608.32\n12,2003,8875532.74\n1,2004,9071583.83\n2,2004,9252661.35\n3,2004,9025820.90\n4,2004,8884129.69\n5,2004,9010256.68\n6,2004,9181167.70\n7,2004,8916778.44\n8,2004,8913207.32\n9,2004,9009742.62\n10,2004,9149880.68\n11,2004,9517504.52\n12,2004,9841372.46\n1,2005,9601488.91\n2,2005,9803544.76\n3,2005,9629943.09\n4,2005,9490712.85\n5,2005,9747905.16\n6,2005,9761741.23\n7,2005,10134390.90\n8,2005,10032386.79\n9,2005,10113642.26\n10,2005,9945039.08\n11,2005,10321183.31\n12,2005,10494358.41\n1,2006,10598156.28\n2,2006,10626922.18\n3,2006,10759212.51\n4,2006,10858580.65\n5,2006,10589843.70\n6,2006,10604171.96\n7,2006,10669578.84\n8,2006,10923495.34\n9,2006,11167239.86\n10,2006,11570071.85\n11,2006,11790136.46\n12,2006,11943426.99\n1,2007,12136311.65\n2,2007,11898910.94\n3,2007,12063357.83\n4,2007,12564956.38\n5,2007,13003444.96\n6,2007,12924311.39\n7,2007,12390939.09\n8,2007,12576659.62\n9,2007,13220501.73\n10,2007,13254572.37\n11,2007,12700418.62\n12,2007,12612316.21\n1,2008,11855816.77\n2,2008,11470703.71\n3,2008,11421156.36\n4,2008,11977388.25\n5,2008,12005497.90\n6,2008,11109708.06\n7,2008,11016300.91\n8,2008,11130325.44\n9,2008,10179847.58\n10,2008,8470135.88\n11,2008,7160795.21\n12,2008,7946060.55\n1,2009,7272468.15\n2,2009,6198504.73\n3,2009,7071052.16\n4,2009,7747816.46\n5,2009,8392697.64\n6,2009,8197406.70\n7,2009,8817404.84\n8,2009,9135743.82\n9,2009,9476668.97\n10,2009,9360675.67\n11,2009,9858500.75\n12,2009,10048869.77\n1,2010,9825633.25\n2,2010,10089229.53\n3,2010,10590226.52\n4,2010,10757407.81\n5,2010,9728944.82\n6,2010,9380253.98\n7,2010,10258653.03\n8,2010,9584349.69\n9,2010,10439670.39\n10,2010,10847205.54\n11,2010,10838291.40\n12,2010,11562634.28\n1,2011,11836675.42\n2,2011,12242187.67\n3,2011,12247054.35\n4,2011,12587651.91\n5,2011,12467009.59\n6,2011,12259195.09\n7,2011,11960270.90\n8,2011,11357499.50\n9,2011,10559109.03\n10,2011,11713136.27\n11,2011,11687268.83\n12,2011,11989801.89\n1,2012,12335922.39\n2,2012,12869349.93\n3,2012,13393535.19\n4,2012,13209454.20\n5,2012,12415545.97\n6,2012,12959691.81\n7,2012,13106637.98\n8,2012,13401836.83\n9,2012,13785271.52\n10,2012,13494312.64\n11,2012,13572583.23\n12,2012,13696287.54\n1,2013,14405700.59\n2,2013,14601264.97\n3,2013,15082027.39\n4,2013,15440726.14\n5,2013,15801885.85\n6,2013,15675829.96\n7,2013,16383000.80\n8,2013,15908527.50\n9,2013,16407391.66\n10,2013,17161594.20\n11,2013,17684575.77\n12,2013,18132306.63\n1,2014,17505363.12\n2,2014,18306159.86\n3,2014,18459997.27\n4,2014,18596443.89\n5,2014,19033018.39\n6,2014,19426170.59\n7,2014,19158253.96\n8,2014,19924706.62\n9,2014,19645305.51\n10,2014,20125138.23\n11,2014,20666385.61\n12,2014,20614322.61\n1,2015,19995472.93\n2,2015,21144687.07\n3,2015,20810269.80\n4,2015,21009935.77\n5,2015,21280094.61\n6,2015,20868129.73\n7,2015,21305360.48\n8,2015,20019918.47\n9,2015,19524554.35\n10,2015,21171538.89\n11,2015,21234484.80\n12,2015,20899575.34\n1,2016,19862471.65\n2,2016,19835674.52\n3,2016,21181273.35\n4,2016,21263414.77\n5,2016,21645246.55\n6,2016,21701356.47\n7,2016,22501442.26\n8,2016,22533051.94\n9,2016,22537262.92\n10,2016,22126173.04\n11,2016,22945618.39\n12,2016,23399146.18\n1,2017,23842939.49\n2,2017,24789698.57\n3,2017,24818573.85\n4,2017,25073474.73\n5,2017,25426321.86\n6,2017,25585026.51\n7,2017,26111125.30\n8,2017,26191079.19\n9,2017,26731342.18\n10,2017,27355113.79\n11,2017,28194082.77\n12,2017,28507554.52\n1,2018,30139718.61\n2,2018,29028895.46\n3,2018,28291154.01\n4,2018,28399709.74\n5,2018,29083638.17\n6,2018,29262632.07\n7,2018,30351634.70\n8,2018,31340612.93\n9,2018,31519005.26\n10,2018,29364679.93\n11,2018,29963076.29\n12,2018,27257714.42\n1,2019,29442008.79\n2,2019,30387345.98\n3,2019,30977812.58\n4,2019,32232082.41\n5,2019,30183797.15\n6,2019,32311051.92\n7,2019,32775462.62\n8,2019,32256254.52\n9,2019,32859791.55\n10,2019,33571501.50\n11,2019,34790114.75\n12,2019,35840179.50\n1,2020,35826124.68\n2,2020,32876963.59\n3,2020,28816213.73\n4,2020,32510280.39\n5,2020,34058662.42\n6,2020,34736028.29\n7,2020,36694625.19\n8,2020,39332228.60\n9,2020,37837714.27\n10,2020,36831509.31\n11,2020,40863219.84\n12,2020,42434352.09\n1,2021,42005926.10\n2,2021,43164218.46\n3,2021,45054619.39\n4,2021,47459142.44\n5,2021,47790606.56\n6,2021,48906296.94\n7,2021,50068034.64\n8,2021,51590385.17\n9,2021,49190948.10\n10,2021,52637332.70\n11,2021,52272618.27\n12,2021,54615289.16\n1,2022,51789121.45\n2,2022,50238442.52\n3,2022,52103796.34\n4,2022,47560260.60\n5,2022,47647488.00\n6,2022,43714489.36\n7,2022,47745160.81\n8,2022,45798048.39\n9,2022,41580070.46\n10,2022,44946446.48\n11,2022,47458267.43\n12,2022,44723975.60\n1,2023,47534174.41\n2,2023,46374350.79\n3,2023,48076953.05\n4,2023,48827382.12\n5,2023,49039626.34\n6,2023,52279946.46\n7,2023,53959415.69\n8,2023,53100321.52\n9,2023,50568594.12\n10,2023,49505294.87\n11,2023,54026408.52\n12,2023,56480861.73\n1,2024,57429972.40\n2,2024,60496493.98\n3,2024,62442951.63\n4,2024,59892465.60\n5,2024,62862244.29\n6,2024,65117852.91\n7,2024,65910498.15\n8,2024,67509246.99\n9,2024,68951045.48\n10,2024,68325796.87\n11,2024,72336559.96\n12,2024,70612194.22\n1,2025,72578554.47\n2,2025,71631575.79\n3,2025,67595546.19\n4,2025,67137149.46\n5,2025,71363113.13\n6,2025,74992101.47\n7,2025,76675125.41\n8,2025,78229466.94\n9,2025,81084838.71\n10,2025,82983335.60\n11,2025,83186717.38\n12,2025,83237634.92\n`,
        'us_bonds': `1,1871,100.00\n2,1871,102.29\n3,1871,103.44\n4,1871,105.05\n5,1871,106.73\n6,1871,107.95\n7,1871,106.63\n8,1871,107.50\n9,1871,108.91\n10,1871,108.59\n11,1871,109.22\n12,1871,110.10\n1,1872,107.31\n2,1872,107.23\n3,1872,108.12\n4,1872,110.78\n5,1872,113.52\n6,1872,115.28\n7,1872,113.22\n8,1872,113.58\n9,1872,112.56\n10,1872,114.41\n11,1872,115.39\n12,1872,116.75\n1,1873,115.41\n2,1873,116.21\n3,1873,117.77\n4,1873,119.22\n5,1873,121.49\n6,1873,123.46\n7,1873,120.93\n8,1873,121.24\n9,1873,119.01\n10,1873,116.77\n11,1873,117.01\n12,1873,123.28\n1,1874,122.14\n2,1874,125.03\n3,1874,126.34\n4,1874,127.70\n5,1874,128.28\n6,1874,129.20\n7,1874,125.28\n8,1874,125.93\n9,1874,126.04\n10,1874,126.70\n11,1874,128.85\n12,1874,131.36\n1,1875,129.97\n2,1875,131.47\n3,1875,132.13\n4,1875,134.33\n5,1875,136.60\n6,1875,138.61\n7,1875,133.67\n8,1875,134.08\n9,1875,134.33\n10,1875,135.23\n11,1875,136.41\n12,1875,137.81\n1,1876,136.08\n2,1876,137.91\n3,1876,137.97\n4,1876,138.09\n5,1876,138.64\n6,1876,140.44\n7,1876,138.15\n8,1876,135.92\n9,1876,133.98\n10,1876,133.45\n11,1876,134.38\n12,1876,134.65\n1,1877,132.02\n2,1877,131.92\n3,1877,131.44\n4,1877,132.85\n5,1877,135.25\n6,1877,133.93\n7,1877,134.44\n8,1877,133.67\n9,1877,130.83\n10,1877,130.86\n11,1877,132.01\n12,1877,131.95\n1,1878,132.38\n2,1878,132.82\n3,1878,132.36\n4,1878,131.73\n5,1878,134.62\n6,1878,133.58\n7,1878,132.87\n8,1878,133.56\n9,1878,134.08\n10,1878,133.53\n11,1878,134.31\n12,1878,135.09\n1,1879,134.53\n2,1879,135.49\n3,1879,135.35\n4,1879,136.81\n5,1879,140.42\n6,1879,140.10\n7,1879,139.54\n8,1879,139.74\n9,1879,141.23\n10,1879,141.79\n11,1879,143.55\n12,1879,144.97\n1,1880,145.78\n2,1880,149.41\n3,1880,151.03\n4,1880,151.68\n5,1880,153.56\n6,1880,155.81\n7,1880,155.49\n8,1880,157.75\n9,1880,157.52\n10,1880,156.46\n11,1880,160.82\n12,1880,163.02\n1,1881,164.41\n2,1881,165.53\n3,1881,166.66\n4,1881,168.70\n5,1881,172.59\n6,1881,174.28\n7,1881,172.55\n8,1881,171.85\n9,1881,173.83\n10,1881,173.20\n11,1881,174.91\n12,1881,177.48\n1,1882,177.60\n2,1882,178.30\n3,1882,180.02\n4,1882,182.42\n5,1882,184.45\n6,1882,184.00\n7,1882,183.28\n8,1882,184.26\n9,1882,184.67\n10,1882,183.75\n11,1882,184.65\n12,1882,187.19\n1,1883,185.87\n2,1883,186.39\n3,1883,187.59\n4,1883,188.21\n5,1883,188.15\n6,1883,189.07\n7,1883,188.21\n8,1883,189.24\n9,1883,191.85\n10,1883,193.27\n11,1883,195.80\n12,1883,199.24\n1,1884,199.27\n2,1884,199.82\n3,1884,201.26\n4,1884,200.68\n5,1884,196.76\n6,1884,195.27\n7,1884,195.71\n8,1884,196.98\n9,1884,198.45\n10,1884,199.41\n11,1884,202.12\n12,1884,204.12\n1,1885,202.70\n2,1885,203.88\n3,1885,204.86\n4,1885,204.37\n5,1885,205.14\n6,1885,206.96\n7,1885,207.42\n8,1885,208.41\n9,1885,209.50\n10,1885,210.28\n11,1885,210.74\n12,1885,212.59\n1,1886,212.30\n2,1886,216.75\n3,1886,218.83\n4,1886,218.65\n5,1886,218.90\n6,1886,220.68\n7,1886,220.82\n8,1886,221.07\n9,1886,223.74\n10,1886,225.96\n11,1886,226.11\n12,1886,227.92\n1,1887,226.40\n2,1887,228.55\n3,1887,229.70\n4,1887,230.74\n5,1887,231.56\n6,1887,232.26\n7,1887,230.06\n8,1887,229.31\n9,1887,226.53\n10,1887,227.91\n11,1887,230.79\n12,1887,229.35\n1,1888,230.41\n2,1888,233.43\n3,1888,230.83\n4,1888,230.99\n5,1888,234.60\n6,1888,237.07\n7,1888,237.10\n8,1888,238.66\n9,1888,241.13\n10,1888,239.54\n11,1888,239.93\n12,1888,241.39\n1,1889,240.36\n2,1889,243.36\n3,1889,246.36\n4,1889,245.31\n5,1889,246.66\n6,1889,247.67\n7,1889,246.15\n8,1889,246.31\n9,1889,246.95\n10,1889,245.78\n11,1889,246.18\n12,1889,247.08\n1,1890,244.80\n2,1890,241.08\n3,1890,240.14\n4,1890,239.81\n5,1890,240.59\n6,1890,241.74\n7,1890,243.13\n8,1890,246.03\n9,1890,249.41\n10,1890,246.48\n11,1890,247.26\n12,1890,246.05\n1,1891,243.33\n2,1891,244.25\n3,1891,245.93\n4,1891,247.62\n5,1891,248.30\n6,1891,248.98\n7,1891,239.59\n8,1891,239.62\n9,1891,242.36\n10,1891,240.47\n11,1891,241.42\n12,1891,244.05\n1,1892,243.19\n2,1892,244.01\n3,1892,245.75\n4,1892,243.58\n5,1892,246.37\n6,1892,248.66\n7,1892,246.85\n8,1892,246.62\n9,1892,244.81\n10,1892,245.12\n11,1892,245.97\n12,1892,245.61\n1,1893,244.58\n2,1893,243.95\n3,1893,246.02\n4,1893,246.07\n5,1893,245.71\n6,1893,242.48\n7,1893,240.48\n8,1893,242.58\n9,1893,246.61\n10,1893,246.24\n11,1893,251.13\n12,1893,254.93\n1,1894,252.61\n2,1894,255.59\n3,1894,257.17\n4,1894,258.20\n5,1894,257.82\n6,1894,259.71\n7,1894,259.89\n8,1894,260.94\n9,1894,262.83\n10,1894,262.74\n11,1894,265.22\n12,1894,265.98\n1,1895,261.57\n2,1895,275.49\n3,1895,278.44\n4,1895,282.12\n5,1895,285.38\n6,1895,290.11\n7,1895,290.74\n8,1895,287.55\n9,1895,289.22\n10,1895,278.93\n11,1895,287.28\n12,1895,286.74\n1,1896,277.54\n2,1896,276.85\n3,1896,280.80\n4,1896,284.15\n5,1896,283.15\n6,1896,284.41\n7,1896,279.00\n8,1896,274.03\n9,1896,282.47\n10,1896,286.34\n11,1896,293.75\n12,1896,295.19\n1,1897,301.87\n2,1897,304.09\n3,1897,306.77\n4,1897,309.31\n5,1897,307.18\n6,1897,312.23\n7,1897,316.20\n8,1897,315.93\n9,1897,317.08\n10,1897,322.03\n11,1897,325.26\n12,1897,328.65\n1,1898,329.64\n2,1898,323.01\n3,1898,312.98\n4,1898,308.86\n5,1898,313.90\n6,1898,319.59\n7,1898,328.87\n8,1898,331.03\n9,1898,332.07\n10,1898,333.74\n11,1898,333.48\n12,1898,337.46\n1,1899,340.81\n2,1899,339.54\n3,1899,341.58\n4,1899,345.12\n5,1899,345.33\n6,1899,349.04\n7,1899,347.94\n8,1899,349.67\n9,1899,350.39\n10,1899,351.29\n11,1899,354.05\n12,1899,363.22\n1,1900,364.12\n2,1900,366.40\n3,1900,370.88\n4,1900,365.80\n5,1900,369.79\n6,1900,370.55\n7,1900,369.91\n8,1900,367.73\n9,1900,371.59\n10,1900,372.68\n11,1900,380.39\n12,1900,385.50\n1,1901,387.64\n2,1901,388.57\n3,1901,388.10\n4,1901,392.04\n5,1901,391.39\n6,1901,393.58\n7,1901,393.27\n8,1901,390.49\n9,1901,394.11\n10,1901,398.98\n11,1901,399.93\n12,1901,401.25\n1,1902,402.93\n2,1902,403.89\n3,1902,404.85\n4,1902,405.45\n5,1902,405.69\n6,1902,395.40\n7,1902,386.17\n8,1902,387.50\n9,1902,402.40\n10,1902,405.58\n11,1902,402.88\n12,1902,400.92\n1,1903,401.90\n2,1903,404.37\n3,1903,409.08\n4,1903,404.11\n5,1903,407.91\n6,1903,406.10\n7,1903,404.10\n8,1903,405.10\n9,1903,408.57\n10,1903,410.13\n11,1903,408.50\n12,1903,409.13\n1,1904,409.37\n2,1904,406.57\n3,1904,408.37\n4,1904,409.02\n5,1904,408.51\n6,1904,410.67\n7,1904,410.93\n8,1904,408.87\n9,1904,411.06\n10,1904,412.10\n11,1904,410.04\n12,1904,411.28\n1,1905,412.51\n2,1905,413.56\n3,1905,420.93\n4,1905,421.98\n5,1905,420.65\n6,1905,424.10\n7,1905,425.17\n8,1905,427.44\n9,1905,432.10\n10,1905,433.17\n11,1905,429.63\n12,1905,422.42\n1,1906,424.30\n2,1906,422.96\n3,1906,424.86\n4,1906,430.43\n5,1906,427.02\n6,1906,426.08\n7,1906,427.56\n8,1906,430.95\n9,1906,434.11\n10,1906,434.58\n11,1906,435.27\n12,1906,435.97\n1,1907,433.33\n2,1907,434.02\n3,1907,438.92\n4,1907,440.47\n5,1907,438.62\n6,1907,436.81\n7,1907,437.94\n8,1907,432.69\n9,1907,428.71\n10,1907,427.29\n11,1907,417.30\n12,1907,408.15\n1,1908,409.29\n2,1908,412.18\n3,1908,421.55\n4,1908,429.22\n5,1908,430.39\n6,1908,427.63\n7,1908,428.34\n8,1908,427.76\n9,1908,427.17\n10,1908,428.35\n11,1908,428.88\n12,1908,430.71\n1,1909,431.90\n2,1909,433.09\n3,1909,434.28\n4,1909,435.48\n5,1909,436.68\n6,1909,437.88\n7,1909,436.38\n8,1909,431.69\n9,1909,429.27\n10,1909,430.94\n11,1909,427.37\n12,1909,426.97\n1,1910,425.44\n2,1910,426.67\n3,1910,426.05\n4,1910,427.29\n5,1910,427.60\n6,1910,429.78\n7,1910,431.26\n8,1910,433.21\n9,1910,436.35\n10,1910,437.61\n11,1910,438.88\n12,1910,439.19\n1,1911,440.47\n2,1911,446.06\n3,1911,447.34\n4,1911,446.92\n5,1911,441.69\n6,1911,444.45\n7,1911,445.74\n8,1911,444.11\n9,1911,444.91\n10,1911,446.22\n11,1911,446.56\n12,1911,447.38\n1,1912,449.18\n2,1912,451.48\n3,1912,454.30\n4,1912,457.37\n5,1912,458.45\n6,1912,458.78\n7,1912,460.12\n8,1912,459.44\n9,1912,461.80\n10,1912,462.91\n11,1912,464.53\n12,1912,465.37\n1,1913,466.73\n2,1913,468.86\n3,1913,469.46\n4,1913,469.28\n5,1913,473.76\n6,1913,474.10\n7,1913,464.06\n8,1913,463.36\n9,1913,462.66\n10,1913,460.66\n11,1913,467.58\n12,1913,473.21\n1,1914,478.85\n2,1914,481.61\n3,1914,480.62\n4,1914,478.31\n5,1914,479.21\n6,1914,479.01\n7,1914,477.76\n8,1914,479.19\n9,1914,480.65\n10,1914,482.10\n11,1914,483.56\n12,1914,481.74\n1,1915,484.29\n2,1915,485.75\n3,1915,491.09\n4,1915,494.23\n5,1915,494.60\n6,1915,494.71\n7,1915,490.34\n8,1915,496.86\n9,1915,494.99\n10,1915,494.80\n11,1915,498.01\n12,1915,503.50\n1,1916,503.86\n2,1916,510.53\n3,1916,514.34\n4,1916,514.72\n5,1916,517.41\n6,1916,514.62\n7,1916,512.97\n8,1916,515.69\n9,1916,518.40\n10,1916,519.96\n11,1916,518.60\n12,1916,522.52\n1,1917,521.73\n2,1917,525.98\n3,1917,515.98\n4,1917,515.78\n5,1917,507.23\n6,1917,504.63\n7,1917,506.83\n8,1917,507.84\n9,1917,514.60\n10,1917,513.47\n11,1917,515.09\n12,1917,510.63\n1,1918,513.47\n2,1918,517.58\n3,1918,520.51\n4,1918,522.74\n5,1918,524.69\n6,1918,531.62\n7,1918,533.94\n8,1918,536.20\n9,1918,536.62\n10,1918,536.44\n11,1918,540.95\n12,1918,534.08\n1,1919,535.78\n2,1919,534.93\n3,1919,535.78\n4,1919,538.31\n5,1919,542.52\n6,1919,543.79\n7,1919,544.65\n8,1919,544.26\n9,1919,548.55\n10,1919,551.56\n11,1919,549.46\n12,1919,547.83\n1,1920,548.80\n2,1920,545.98\n3,1920,546.59\n4,1920,540.95\n5,1920,530.99\n6,1920,535.09\n7,1920,536.33\n8,1920,534.72\n9,1920,547.19\n10,1920,564.64\n11,1920,561.39\n12,1920,555.67\n1,1921,565.49\n2,1921,565.78\n3,1921,568.71\n4,1921,572.52\n5,1921,574.58\n6,1921,576.21\n7,1921,579.18\n8,1921,583.51\n9,1921,590.58\n10,1921,606.51\n11,1921,617.98\n12,1921,628.62\n1,1922,631.94\n2,1922,631.79\n3,1922,638.68\n4,1922,647.66\n5,1922,651.00\n6,1922,654.35\n7,1922,661.90\n8,1922,665.24\n9,1922,663.82\n10,1922,660.35\n11,1922,661.15\n12,1922,664.06\n1,1923,666.45\n2,1923,668.32\n3,1923,668.08\n4,1923,669.99\n5,1923,673.50\n6,1923,677.56\n7,1923,680.01\n8,1923,681.93\n9,1923,683.86\n10,1923,684.18\n11,1923,688.32\n12,1923,691.92\n1,1924,697.19\n2,1924,700.81\n3,1924,703.31\n4,1924,708.67\n5,1924,715.77\n6,1924,728.19\n7,1924,732.98\n8,1924,737.17\n9,1924,738.97\n10,1924,744.40\n11,1924,744.99\n12,1924,743.78\n1,1925,746.24\n2,1925,749.31\n3,1925,751.16\n4,1925,755.48\n5,1925,761.65\n6,1925,769.08\n7,1925,771.51\n8,1925,770.18\n9,1925,772.66\n10,1925,777.02\n11,1925,781.40\n12,1925,783.23\n1,1926,787.62\n2,1926,793.99\n3,1926,796.45\n4,1926,799.57\n5,1926,804.01\n6,1926,806.46\n7,1926,808.27\n8,1926,809.42\n9,1926,811.91\n10,1926,815.75\n11,1926,822.29\n12,1926,828.85\n1,1927,834.73\n2,1927,839.26\n3,1927,849.41\n4,1927,853.21\n5,1927,858.45\n6,1927,858.67\n7,1927,859.63\n8,1927,864.91\n9,1927,868.74\n10,1927,871.86\n11,1927,878.62\n12,1927,885.40\n1,1928,887.00\n2,1928,888.61\n3,1928,892.46\n4,1928,892.58\n5,1928,891.99\n6,1928,890.68\n7,1928,883.53\n8,1928,881.65\n9,1928,885.67\n10,1928,887.49\n11,1928,896.73\n12,1928,894.04\n1,1929,891.42\n2,1929,886.66\n3,1929,880.55\n4,1929,890.63\n5,1929,893.33\n6,1929,892.34\n7,1929,898.80\n8,1929,896.32\n9,1929,899.83\n10,1929,909.36\n11,1929,931.98\n12,1929,933.80\n1,1930,930.99\n2,1930,935.20\n3,1930,947.26\n4,1930,943.56\n5,1930,950.94\n6,1930,958.34\n7,1930,960.93\n8,1930,962.73\n9,1930,966.96\n10,1930,971.99\n11,1930,976.22\n12,1930,976.37\n1,1931,980.62\n2,1931,975.09\n3,1931,980.21\n4,1931,983.70\n5,1931,994.62\n6,1931,999.74\n7,1931,1000.67\n8,1931,1000.80\n9,1931,997.62\n10,1931,969.26\n11,1931,972.19\n12,1931,951.26\n1,1932,928.82\n2,1932,943.68\n3,1932,961.84\n4,1932,984.30\n5,1932,980.81\n6,1932,983.88\n7,1932,1001.77\n8,1932,1015.65\n9,1932,1021.11\n10,1932,1023.17\n11,1932,1024.39\n12,1932,1035.91\n1,1933,1050.09\n2,1933,1045.05\n3,1933,1038.40\n4,1933,1041.36\n5,1933,1054.80\n6,1933,1065.65\n7,1933,1069.39\n8,1933,1071.35\n9,1933,1076.00\n10,1933,1076.17\n11,1933,1057.75\n12,1933,1054.66\n1,1934,1062.15\n2,1934,1083.08\n3,1934,1097.86\n4,1934,1106.26\n5,1934,1115.61\n6,1934,1123.10\n7,1934,1128.70\n8,1934,1121.12\n9,1934,1107.23\n10,1934,1126.99\n11,1934,1129.86\n12,1934,1138.42\n1,1935,1156.63\n2,1935,1165.30\n3,1935,1167.99\n4,1935,1174.68\n5,1935,1178.36\n6,1935,1182.04\n7,1935,1186.73\n8,1935,1174.28\n9,1935,1174.05\n10,1935,1180.88\n11,1935,1182.65\n12,1935,1187.48\n1,1936,1192.30\n2,1936,1201.21\n3,1936,1209.10\n4,1936,1213.88\n5,1936,1218.66\n6,1936,1219.27\n7,1936,1223.02\n8,1936,1233.08\n9,1936,1232.58\n10,1936,1234.22\n11,1936,1249.68\n12,1936,1251.22\n1,1937,1259.22\n2,1937,1262.92\n3,1937,1237.18\n4,1937,1232.46\n5,1937,1239.63\n6,1937,1240.31\n7,1937,1252.94\n8,1937,1245.95\n9,1937,1251.00\n10,1937,1253.87\n11,1937,1263.31\n12,1937,1267.25\n1,1938,1272.29\n2,1938,1279.55\n3,1938,1280.12\n4,1938,1293.03\n5,1938,1300.30\n6,1938,1300.75\n7,1938,1304.63\n8,1938,1309.65\n9,1938,1303.26\n10,1938,1318.64\n11,1938,1316.76\n12,1938,1322.97\n1,1939,1325.70\n2,1939,1334.25\n3,1939,1347.49\n4,1939,1358.40\n5,1939,1377.74\n6,1939,1376.57\n7,1939,1381.46\n8,1939,1368.28\n9,1939,1315.84\n10,1939,1345.51\n11,1939,1361.33\n12,1939,1376.01\n1,1940,1377.44\n2,1940,1378.89\n3,1940,1393.68\n4,1940,1388.96\n5,1940,1368.71\n6,1940,1389.60\n7,1940,1400.83\n8,1940,1405.91\n9,1940,1418.41\n10,1940,1428.44\n11,1940,1451.14\n12,1940,1459.86\n1,1941,1462.15\n2,1941,1453.06\n3,1941,1474.07\n4,1941,1487.24\n5,1941,1488.42\n6,1941,1504.32\n7,1941,1523.02\n8,1941,1515.78\n9,1941,1516.80\n10,1941,1526.00\n11,1941,1522.88\n12,1941,1499.57\n1,1942,1503.50\n2,1942,1496.70\n3,1942,1510.10\n4,1942,1504.60\n5,1942,1511.29\n6,1942,1512.56\n7,1942,1511.14\n8,1942,1513.81\n9,1942,1515.13\n10,1942,1519.17\n11,1942,1519.14\n12,1942,1525.93\n1,1943,1534.09\n2,1943,1535.36\n3,1943,1535.28\n4,1943,1540.71\n5,1943,1550.29\n6,1943,1554.30\n7,1943,1554.14\n8,1943,1554.00\n9,1943,1556.67\n10,1943,1556.56\n11,1943,1555.09\n12,1943,1556.43\n1,1944,1559.18\n2,1944,1567.52\n3,1944,1570.24\n4,1944,1571.56\n5,1944,1574.29\n6,1944,1575.63\n7,1944,1578.39\n8,1944,1585.39\n9,1944,1586.71\n10,1944,1588.04\n11,1944,1590.80\n12,1944,1592.15\n1,1945,1615.02\n2,1945,1626.36\n3,1945,1636.25\n4,1945,1656.48\n5,1945,1658.87\n6,1945,1668.73\n7,1945,1666.57\n8,1945,1671.94\n9,1945,1678.81\n10,1945,1690.21\n11,1945,1700.08\n12,1945,1684.04\n1,1946,1695.48\n2,1946,1700.81\n3,1946,1706.13\n4,1946,1685.52\n5,1946,1686.42\n6,1946,1693.40\n7,1946,1689.73\n8,1946,1683.11\n9,1946,1678.10\n10,1946,1683.70\n11,1946,1674.23\n12,1946,1690.46\n1,1947,1699.11\n2,1947,1704.68\n3,1947,1707.18\n4,1947,1706.62\n5,1947,1710.68\n6,1947,1707.08\n7,1947,1711.19\n8,1947,1718.37\n9,1947,1713.21\n10,1947,1700.52\n11,1947,1688.07\n12,1947,1666.93\n1,1948,1669.95\n2,1948,1675.98\n3,1948,1680.49\n4,1948,1685.01\n5,1948,1701.63\n6,1948,1689.39\n7,1948,1689.40\n8,1948,1689.43\n9,1948,1697.05\n10,1948,1694.05\n11,1948,1704.75\n12,1948,1712.38\n1,1949,1723.08\n2,1949,1727.60\n3,1949,1736.76\n4,1949,1741.24\n5,1949,1745.71\n6,1949,1761.18\n7,1949,1768.74\n8,1949,1782.66\n9,1949,1780.58\n10,1949,1783.32\n11,1949,1786.07\n12,1949,1796.85\n1,1950,1783.51\n2,1950,1783.14\n3,1950,1782.80\n4,1950,1777.71\n5,1950,1779.07\n6,1950,1772.51\n7,1950,1775.55\n8,1950,1778.60\n9,1950,1775.30\n10,1950,1768.90\n11,1950,1767.35\n12,1950,1772.15\n1,1951,1783.31\n2,1951,1776.94\n3,1951,1756.54\n4,1951,1744.36\n5,1951,1733.97\n6,1951,1736.09\n7,1951,1755.30\n8,1951,1776.18\n9,1951,1757.59\n10,1951,1756.51\n11,1951,1753.93\n12,1951,1762.33\n1,1952,1766.02\n2,1952,1761.92\n3,1952,1765.60\n4,1952,1786.33\n5,1952,1796.15\n6,1952,1793.39\n7,1952,1787.58\n8,1952,1777.24\n9,1952,1764.02\n10,1952,1789.60\n11,1952,1794.91\n12,1952,1795.52\n1,1953,1782.13\n2,1953,1775.19\n3,1953,1769.93\n4,1953,1763.25\n5,1953,1734.01\n6,1953,1729.41\n7,1953,1761.14\n8,1953,1762.39\n9,1953,1779.02\n10,1953,1816.11\n11,1953,1816.98\n12,1953,1835.35\n1,1954,1857.03\n2,1954,1862.49\n3,1954,1882.68\n4,1954,1899.62\n5,1954,1889.99\n6,1954,1892.08\n7,1954,1909.12\n8,1954,1902.78\n9,1954,1903.20\n10,1954,1898.67\n11,1954,1894.24\n12,1954,1893.19\n1,1955,1880.70\n2,1955,1878.24\n3,1955,1879.12\n4,1955,1870.24\n5,1955,1872.90\n6,1955,1873.95\n7,1955,1858.82\n8,1955,1852.04\n9,1955,1856.62\n10,1955,1875.80\n11,1955,1878.67\n12,1955,1871.80\n1,1956,1876.42\n2,1956,1890.59\n3,1956,1875.80\n4,1956,1845.62\n5,1956,1867.87\n6,1956,1883.82\n7,1956,1870.96\n8,1956,1841.15\n9,1956,1838.47\n10,1956,1849.89\n11,1956,1831.66\n12,1956,1821.55\n1,1957,1827.00\n2,1957,1850.62\n3,1957,1845.01\n4,1957,1839.53\n5,1957,1826.61\n6,1957,1802.03\n7,1957,1788.45\n8,1957,1794.31\n9,1957,1801.67\n10,1957,1800.12\n11,1957,1843.73\n12,1957,1929.39\n1,1958,1953.99\n2,1958,1965.57\n3,1958,1982.12\n4,1958,2003.72\n5,1958,2001.82\n6,1958,1998.33\n7,1958,1965.21\n8,1958,1915.56\n9,1958,1886.55\n10,1958,1886.22\n11,1958,1901.60\n12,1958,1888.71\n1,1959,1894.79\n2,1959,1910.39\n3,1959,1912.04\n4,1959,1898.34\n5,1959,1875.89\n6,1959,1878.08\n7,1959,1875.79\n8,1959,1878.13\n9,1959,1847.62\n10,1959,1877.28\n11,1959,1884.36\n12,1959,1867.36\n1,1960,1870.16\n2,1960,1912.47\n3,1960,1957.06\n4,1960,1959.25\n5,1960,1955.19\n6,1960,1994.17\n7,1960,2041.95\n8,1960,2065.27\n9,1960,2071.81\n10,1960,2063.25\n11,1960,2063.24\n12,1960,2085.16\n1,1961,2091.83\n2,1961,2108.77\n3,1961,2122.29\n4,1961,2122.00\n5,1961,2140.83\n6,1961,2118.01\n7,1961,2117.98\n8,1961,2104.36\n9,1961,2121.72\n10,1961,2139.13\n11,1961,2142.64\n12,1961,2128.90\n1,1962,2129.21\n2,1962,2153.83\n3,1962,2185.66\n4,1962,2192.69\n5,1962,2192.62\n6,1962,2182.00\n7,1962,2182.20\n8,1962,2203.77\n9,1962,2214.63\n10,1962,2225.50\n11,1962,2232.77\n12,1962,2252.81\n1,1963,2256.38\n2,1963,2250.85\n3,1963,2256.41\n4,1963,2263.84\n5,1963,2269.45\n6,1963,2269.58\n7,1963,2277.15\n8,1963,2281.04\n9,1963,2279.45\n10,1963,2272.45\n11,1963,2293.24\n12,1963,2289.91\n1,1964,2295.95\n2,1964,2298.32\n3,1964,2297.04\n4,1964,2307.00\n5,1964,2320.72\n6,1964,2336.35\n7,1964,2336.88\n8,1964,2341.25\n9,1964,2355.16\n10,1964,2367.19\n11,1964,2367.74\n12,1964,2374.11\n1,1965,2386.28\n2,1965,2388.83\n3,1965,2401.10\n4,1965,2407.56\n5,1965,2412.11\n6,1965,2426.48\n7,1965,2431.05\n8,1965,2429.78\n9,1965,2422.76\n10,1965,2419.83\n11,1965,2415.10\n12,1965,2391.27\n1,1966,2400.54\n2,1966,2349.22\n3,1966,2416.25\n4,1966,2410.75\n5,1966,2418.50\n6,1966,2396.49\n7,1966,2391.62\n8,1966,2345.14\n9,1966,2418.00\n10,1966,2437.49\n11,1966,2419.46\n12,1966,2521.60\n1,1967,2555.05\n2,1967,2525.17\n3,1967,2578.76\n4,1967,2532.81\n5,1967,2537.01\n6,1967,2467.92\n7,1967,2490.12\n8,1967,2479.77\n9,1967,2483.03\n10,1967,2431.84\n11,1967,2424.72\n12,1967,2443.75\n1,1968,2584.01\n2,1968,2592.04\n3,1968,2565.23\n4,1968,2581.41\n5,1968,2570.54\n6,1968,2626.06\n7,1968,2688.53\n8,1968,2694.50\n9,1968,2692.43\n10,1968,2680.44\n11,1968,2658.83\n12,1968,2596.88\n1,1969,2604.39\n2,1969,2604.43\n3,1969,2610.37\n4,1969,2643.36\n5,1969,2588.05\n6,1969,2570.24\n7,1969,2597.83\n8,1969,2580.23\n9,1969,2470.96\n10,1969,2590.45\n11,1969,2540.55\n12,1969,2450.53\n1,1970,2489.52\n2,1970,2663.21\n3,1970,2643.92\n4,1970,2522.28\n5,1970,2515.39\n6,1970,2581.14\n7,1970,2653.97\n8,1970,2649.34\n9,1970,2704.37\n10,1970,2712.99\n11,1970,2900.55\n12,1970,2914.11\n1,1971,3019.11\n2,1971,3023.32\n3,1971,3178.67\n4,1971,3066.27\n5,1971,3014.82\n6,1971,2961.03\n7,1971,2945.35\n8,1971,3087.66\n9,1971,3168.24\n10,1971,3214.71\n11,1971,3216.19\n12,1971,3241.62\n1,1972,3209.95\n2,1972,3238.11\n3,1972,3235.35\n4,1972,3247.08\n5,1972,3285.33\n6,1972,3277.74\n7,1972,3301.80\n8,1972,3246.56\n9,1972,3235.50\n10,1972,3284.11\n11,1972,3333.18\n12,1972,3318.93\n1,1973,3305.18\n2,1973,3299.44\n3,1973,3296.38\n4,1973,3321.99\n5,1973,3286.10\n6,1973,3302.72\n7,1973,3208.35\n8,1973,3269.58\n9,1973,3372.19\n10,1973,3437.94\n11,1973,3462.11\n12,1973,3429.56\n1,1974,3424.79\n2,1974,3442.35\n3,1974,3366.93\n4,1974,3329.37\n5,1974,3383.35\n6,1974,3376.30\n7,1974,3339.54\n8,1974,3310.96\n9,1974,3372.56\n10,1974,3430.22\n11,1974,3488.53\n12,1974,3569.81\n1,1975,3559.47\n2,1975,3599.06\n3,1975,3487.87\n4,1975,3440.53\n5,1975,3528.27\n6,1975,3571.27\n7,1975,3536.90\n8,1975,3556.25\n9,1975,3518.35\n10,1975,3682.58\n11,1975,3649.40\n12,1975,3770.37\n1,1976,3784.40\n2,1976,3816.81\n3,1976,3870.52\n4,1976,3892.56\n5,1976,3840.70\n6,1976,3892.59\n7,1976,3918.09\n8,1976,3997.99\n9,1976,4053.94\n10,1976,4116.03\n11,1976,4260.40\n12,1976,4345.25\n1,1977,4195.08\n2,1977,4206.46\n3,1977,4241.32\n4,1977,4258.75\n5,1977,4305.87\n6,1977,4386.45\n7,1977,4346.37\n8,1977,4415.61\n9,1977,4402.80\n10,1977,4366.60\n11,1977,4415.46\n12,1977,4373.86\n1,1978,4354.48\n2,1978,4353.96\n3,1978,4350.95\n4,1978,4354.22\n5,1978,4331.83\n6,1978,4304.68\n7,1978,4352.88\n8,1978,4433.75\n9,1978,4414.59\n10,1978,4330.13\n11,1978,4391.29\n12,1978,4340.20\n1,1979,4431.10\n2,1979,4401.61\n3,1979,4452.31\n4,1979,4417.85\n5,1979,4535.58\n6,1979,4643.88\n7,1979,4618.16\n8,1979,4584.81\n9,1979,4561.59\n10,1979,4242.94\n11,1979,4372.10\n12,1979,4423.68\n1,1980,4246.59\n2,1980,3910.58\n3,1980,3969.98\n4,1980,4473.64\n5,1980,4653.09\n6,1980,4738.16\n7,1980,4590.58\n8,1980,4421.82\n9,1980,4384.89\n10,1980,4278.51\n11,1980,4259.64\n12,1980,4376.23\n1,1981,4359.24\n2,1981,4229.83\n3,1981,4346.89\n4,1981,4170.23\n5,1981,4358.42\n6,1981,4323.59\n7,1981,4191.15\n8,1981,4083.55\n9,1981,4046.61\n10,1981,4362.67\n11,1981,4781.94\n12,1981,4619.24\n1,1982,4633.70\n2,1982,4715.62\n3,1982,4733.12\n4,1982,4868.24\n5,1982,4966.61\n6,1982,4833.29\n7,1982,5091.95\n8,1982,5397.44\n9,1982,5790.47\n10,1982,6195.05\n11,1982,6221.75\n12,1982,6435.00\n1,1983,6328.26\n2,1983,6586.42\n3,1983,6507.80\n4,1983,6701.58\n5,1983,6548.65\n6,1983,6550.35\n7,1983,6313.50\n8,1983,6296.33\n9,1983,6557.69\n10,1983,6507.80\n11,1983,6612.77\n12,1983,6605.06\n1,1984,6727.27\n2,1984,6651.61\n3,1984,6536.07\n4,1984,6498.67\n5,1984,6188.12\n6,1984,6283.56\n7,1984,6687.47\n8,1984,6804.48\n9,1984,7000.60\n10,1984,7349.63\n11,1984,7511.14\n12,1984,7596.63\n1,1985,7838.88\n2,1985,7578.46\n3,1985,7769.66\n4,1985,7955.42\n5,1985,8586.12\n6,1985,8675.26\n7,1985,8583.68\n8,1985,8810.57\n9,1985,8870.09\n10,1985,9109.05\n11,1985,9421.79\n12,1985,9846.86\n1,1986,9871.90\n2,1986,10577.82\n3,1986,11182.14\n4,1986,11258.48\n5,1986,10837.60\n6,1986,11426.49\n7,1986,11504.13\n8,1986,11880.08\n9,1986,11556.73\n10,1986,11713.81\n11,1986,11935.71\n12,1986,11942.88\n1,1987,12054.99\n2,1987,12119.03\n3,1987,11934.83\n4,1987,11468.80\n5,1987,11338.60\n6,1987,11500.77\n7,1987,11372.57\n8,1987,11206.37\n9,1987,10845.81\n10,1987,11469.17\n11,1987,11472.60\n12,1987,11678.15\n1,1988,12207.09\n2,1988,12371.66\n3,1988,12127.71\n4,1988,11979.87\n5,1988,11815.57\n6,1988,12200.18\n7,1988,12055.22\n8,1988,12046.27\n9,1988,12438.57\n10,1988,12709.73\n11,1988,12467.68\n12,1988,12497.59\n1,1989,12698.16\n2,1989,12542.26\n3,1989,12655.80\n4,1989,12984.45\n5,1989,13441.17\n6,1989,13985.57\n7,1989,14341.28\n8,1989,14024.29\n9,1989,14074.85\n10,1989,14538.77\n11,1989,14711.95\n12,1989,14720.66\n1,1990,14341.48\n2,1990,14365.64\n3,1990,14333.83\n4,1990,14070.61\n5,1990,14594.17\n6,1990,14865.63\n7,1990,15039.98\n8,1990,14651.17\n9,1990,14798.33\n10,1990,15075.54\n11,1990,15583.08\n12,1990,15880.39\n1,1991,16041.00\n2,1991,16159.18\n3,1991,16234.47\n4,1991,16376.30\n5,1991,16441.58\n6,1991,16353.85\n7,1991,16510.21\n8,1991,17052.40\n9,1991,17574.58\n10,1991,17683.98\n11,1991,17903.18\n12,1991,18858.73\n1,1992,18200.49\n2,1992,18362.58\n3,1992,18129.55\n4,1992,18155.00\n5,1992,18629.59\n6,1992,18994.01\n7,1992,19679.84\n8,1992,19930.43\n9,1992,20398.91\n10,1992,19892.24\n11,1992,19794.80\n12,1992,20263.33\n1,1993,20829.03\n2,1993,21499.67\n3,1993,21607.71\n4,1993,21684.39\n5,1993,21618.42\n6,1993,22312.71\n7,1993,22370.96\n8,1993,23121.11\n9,1993,23312.59\n10,1993,23365.33\n11,1993,22786.00\n12,1993,22896.71\n1,1994,23229.97\n2,1994,22579.34\n3,1994,21691.61\n4,1994,21361.22\n5,1994,21317.27\n6,1994,21184.25\n7,1994,21653.64\n8,1994,21672.61\n9,1994,21140.91\n10,1994,20989.13\n11,1994,20976.19\n12,1994,21219.69\n1,1995,21726.59\n2,1995,22467.68\n3,1995,22635.40\n4,1995,22985.43\n5,1995,24450.82\n6,1995,24741.68\n7,1995,24437.12\n8,1995,24875.55\n9,1995,25208.05\n10,1995,25599.46\n11,1995,26245.18\n12,1995,26724.77\n1,1996,26809.28\n2,1996,25902.05\n3,1996,25637.00\n4,1996,25178.30\n5,1996,24971.49\n6,1996,25333.46\n7,1996,25346.53\n8,1996,25196.70\n9,1996,25787.20\n10,1996,26601.06\n11,1996,27356.63\n12,1996,26759.82\n1,1997,26707.77\n2,1997,26794.50\n3,1997,26246.34\n4,1997,26782.99\n5,1997,27030.95\n6,1997,27499.50\n7,1997,28658.41\n8,1997,28134.31\n9,1997,28742.42\n10,1997,29490.40\n11,1997,29590.24\n12,1997,29977.17\n1,1998,30615.47\n2,1998,30552.04\n3,1998,30581.71\n4,1998,30703.49\n5,1998,31124.23\n6,1998,31548.20\n7,1998,31550.31\n8,1998,32775.92\n9,1998,34459.55\n10,1998,34068.67\n11,1998,33943.82\n12,1998,34309.63\n1,1999,34416.63\n2,1999,32957.25\n3,1999,33201.37\n4,1999,33074.51\n5,1999,32538.88\n6,1999,32283.53\n7,1999,32177.77\n8,1999,32193.98\n9,1999,32545.58\n10,1999,32417.96\n11,1999,32200.08\n12,1999,31733.08\n1,2000,31373.91\n2,2000,32151.55\n3,2000,33260.35\n4,2000,32940.46\n5,2000,32966.35\n6,2000,33777.15\n7,2000,33921.94\n8,2000,34880.69\n9,2000,34866.48\n10,2000,35112.71\n11,2000,36047.50\n12,2000,37196.41\n1,2001,37160.32\n2,2001,38105.53\n3,2001,38232.23\n4,2001,37168.66\n5,2001,37106.24\n6,2001,37302.70\n7,2001,38492.07\n8,2001,39316.54\n9,2001,40247.42\n10,2001,41356.03\n11,2001,39984.68\n12,2001,39255.06\n1,2002,39420.91\n2,2002,40172.01\n3,2002,38694.24\n4,2002,39805.19\n5,2002,40067.14\n6,2002,40925.56\n7,2002,42221.47\n8,2002,43620.75\n9,2002,45560.10\n10,2002,44631.99\n11,2002,43772.85\n12,2002,45289.97\n1,2003,44832.21\n2,2003,46052.13\n3,2003,45746.55\n4,2003,45669.81\n5,2003,47798.14\n6,2003,47272.20\n7,2003,43904.01\n8,2003,44210.16\n9,2003,46163.47\n10,2003,44952.45\n11,2003,45078.34\n12,2003,45497.22\n1,2004,46066.06\n2,2004,46865.39\n3,2004,47519.07\n4,2004,45163.06\n5,2004,44863.33\n6,2004,45182.17\n7,2004,45795.00\n8,2004,47357.26\n9,2004,47481.88\n10,2004,47993.49\n11,2004,46966.01\n12,2004,47594.56\n1,2005,48149.72\n2,2005,47466.40\n3,2005,47105.60\n4,2005,48399.00\n5,2005,49399.94\n6,2005,49805.97\n7,2005,48615.52\n8,2005,49824.01\n9,2005,48716.34\n10,2005,47996.98\n11,2005,48490.21\n12,2005,49064.52\n1,2006,48693.03\n2,2006,48798.44\n3,2006,47782.54\n4,2006,47179.22\n5,2006,47190.37\n6,2006,47278.76\n7,2006,48090.46\n8,2006,49264.46\n9,2006,49856.77\n10,2006,50170.06\n11,2006,50972.93\n12,2006,50146.56\n1,2007,49862.44\n2,2007,51157.43\n3,2007,50982.53\n4,2007,51262.20\n5,2007,50360.38\n6,2007,50044.45\n7,2007,51267.22\n8,2007,52470.84\n9,2007,52458.46\n10,2007,53126.19\n11,2007,55563.71\n12,2007,55432.65\n1,2008,57313.56\n2,2008,58147.79\n3,2008,58700.50\n4,2008,57355.73\n5,2008,56199.68\n6,2008,56710.05\n7,2008,56898.61\n8,2008,57832.80\n9,2008,57923.33\n10,2008,57360.83\n11,2008,62852.10\n12,2008,66646.03\n1,2009,63435.95\n2,2009,62808.57\n3,2009,64593.41\n4,2009,62388.35\n5,2009,60987.37\n6,2009,60865.27\n7,2009,61094.08\n8,2009,61876.04\n9,2009,62509.30\n10,2009,62171.73\n11,2009,63376.22\n12,2009,60316.54\n1,2010,61601.24\n2,2010,61888.23\n3,2010,60925.07\n4,2010,61869.12\n5,2010,64012.06\n6,2010,66002.39\n7,2010,66329.06\n8,2010,69119.47\n9,2010,68918.87\n10,2010,68495.93\n11,2010,67634.75\n12,2010,64697.06\n1,2011,64351.96\n2,2011,64866.69\n3,2011,64831.98\n4,2011,65793.43\n5,2011,68022.06\n6,2011,66700.88\n7,2011,69192.60\n8,2011,73447.74\n9,2011,75050.21\n10,2011,74589.83\n11,2011,74074.75\n12,2011,75623.90\n1,2012,76135.97\n2,2012,75235.40\n3,2012,73695.84\n4,2012,75499.58\n5,2012,78313.42\n6,2012,77856.21\n7,2012,79092.64\n8,2012,78766.42\n9,2012,78305.17\n10,2012,77922.08\n11,2012,78736.90\n12,2012,77720.01\n1,2013,76181.41\n2,2013,77202.08\n3,2013,77462.21\n4,2013,78773.71\n5,2013,75704.86\n6,2013,73447.74\n7,2013,73080.58\n8,2013,72078.34\n9,2013,73289.97\n10,2013,73859.20\n11,2013,72136.89\n12,2013,71309.07\n1,2014,73833.17\n2,2014,74121.04\n3,2014,73857.57\n4,2014,74460.95\n5,2014,75934.42\n6,2014,75757.15\n7,2014,75656.32\n8,2014,77315.20\n9,2014,76380.04\n10,2014,77677.87\n11,2014,78922.03\n12,2014,79221.28\n1,2015,83388.00\n2,2015,81024.91\n3,2015,81644.55\n4,2015,80994.01\n5,2015,80494.72\n6,2015,79000.10\n7,2015,80325.58\n8,2015,80201.97\n9,2015,81496.55\n10,2015,80984.25\n11,2015,80567.90\n12,2015,80120.65\n1,2016,82926.11\n2,2016,84342.67\n3,2016,84141.00\n4,2016,83923.07\n5,2016,83841.75\n6,2016,86731.78\n7,2016,87102.59\n8,2016,86258.51\n9,2016,86064.98\n10,2016,84467.90\n11,2016,80358.10\n12,2016,80071.86\n1,2017,80227.99\n2,2017,80901.30\n3,2017,80816.73\n4,2017,81773.03\n5,2017,82402.43\n6,2017,81886.87\n7,2017,82125.95\n8,2017,83453.05\n9,2017,82059.27\n10,2017,81906.39\n11,2017,81683.58\n12,2017,81882.00\n1,2018,79905.98\n2,2018,78912.27\n3,2018,79883.21\n4,2018,78746.39\n5,2018,79530.29\n6,2018,79691.30\n7,2018,79190.38\n8,2018,79951.51\n9,2018,78866.74\n10,2018,78437.38\n11,2018,79559.56\n12,2018,81945.42\n1,2019,82511.39\n2,2019,82038.13\n3,2019,84508.56\n4,2019,83927.95\n5,2019,86772.44\n6,2019,87919.02\n7,2019,87982.45\n8,2019,92118.26\n9,2019,90787.90\n10,2019,90770.01\n11,2019,90122.73\n12,2019,89086.74\n1,2020,92549.24\n2,2020,95764.54\n3,2020,99945.90\n4,2020,100363.87\n5,2020,100453.32\n6,2020,100472.84\n7,2020,101658.45\n8,2020,100186.60\n9,2020,100505.36\n10,2020,98774.92\n11,2020,99142.48\n12,2020,98613.91\n1,2021,97205.49\n2,2021,94614.71\n3,2021,91752.33\n4,2021,92827.35\n5,2021,93164.01\n6,2021,94535.02\n7,2021,96636.27\n8,2021,96226.43\n9,2021,94497.62\n10,2021,94177.22\n11,2021,95499.45\n12,2021,94922.09\n1,2022,92785.07\n2,2022,92497.20\n3,2022,88616.72\n4,2022,84428.86\n5,2022,84892.37\n6,2022,84020.65\n7,2022,86673.23\n8,2022,83240.00\n9,2022,79097.68\n10,2022,77601.43\n11,2022,80486.58\n12,2022,79286.34\n1,2023,82047.88\n2,2023,79504.27\n3,2023,82584.58\n4,2023,83183.08\n5,2023,81966.57\n6,2023,81020.03\n7,2023,80356.48\n8,2023,79613.23\n9,2023,76872.83\n10,2023,75139.14\n11,2023,78783.79\n12,2023,82090.17\n1,2024,81828.33\n2,2024,80141.80\n3,2024,80675.24\n4,2024,77972.24\n5,2024,79437.59\n6,2024,80458.94\n7,2024,82779.74\n8,2024,83936.08\n9,2024,85082.66\n10,2024,82059.27\n11,2024,82890.33\n12,2024,80719.15\n1,2025,81198.93\n2,2025,83708.39\n3,2025,83914.94\n4,2025,84565.48\n5,2025,83415.65\n6,2025,84762.27\n7,2025,84194.67\n8,2025,85523.40\n9,2025,86330.07\n10,2025,86992.00\n11,2025,87909.26\n12,2025,87193.66\n`,
        'ex_us_stocks': `1,1871,100.00\n2,1871,101.87\n3,1871,104.87\n4,1871,108.45\n5,1871,111.47\n6,1871,111.08\n7,1871,109.55\n8,1871,111.18\n9,1871,112.81\n10,1871,107.49\n11,1871,109.13\n12,1871,112.25\n1,1872,115.42\n2,1872,116.54\n3,1872,120.62\n4,1872,124.73\n5,1872,125.26\n6,1872,124.59\n7,1872,124.23\n8,1872,123.32\n9,1872,122.12\n10,1872,123.07\n11,1872,123.38\n12,1872,126.80\n1,1873,128.35\n2,1873,130.23\n3,1873,129.65\n4,1873,128.47\n5,1873,129.50\n6,1873,128.64\n7,1873,129.07\n8,1873,129.82\n9,1873,120.51\n10,1873,110.84\n11,1873,107.56\n12,1873,118.48\n1,1874,125.34\n2,1874,129.55\n3,1874,128.43\n4,1874,125.28\n5,1874,122.89\n6,1874,122.89\n7,1874,123.57\n8,1874,124.60\n9,1874,127.37\n10,1874,127.72\n11,1874,129.13\n12,1874,129.49\n1,1875,130.26\n2,1875,130.68\n3,1875,132.89\n4,1875,135.42\n5,1875,131.06\n6,1875,128.87\n7,1875,129.91\n8,1875,131.32\n9,1875,130.52\n10,1875,129.34\n11,1875,131.89\n12,1875,132.61\n1,1876,136.42\n2,1876,139.10\n3,1876,139.47\n4,1876,134.79\n5,1876,130.46\n6,1876,130.41\n7,1876,129.53\n8,1876,124.73\n9,1876,117.92\n10,1876,117.79\n11,1876,116.46\n12,1876,116.34\n1,1877,116.13\n2,1877,109.83\n3,1877,104.70\n4,1877,97.90\n5,1877,98.45\n6,1877,91.92\n7,1877,96.19\n8,1877,103.36\n9,1877,110.13\n10,1877,113.10\n11,1877,111.84\n12,1877,111.85\n1,1878,112.31\n2,1878,110.63\n3,1878,112.83\n4,1878,116.78\n5,1878,117.69\n6,1878,120.75\n7,1878,123.38\n8,1878,122.50\n9,1878,125.63\n10,1878,124.78\n11,1878,124.84\n12,1878,124.45\n1,1879,129.93\n2,1879,134.96\n3,1879,133.67\n4,1879,138.28\n5,1879,145.23\n6,1879,147.16\n7,1879,150.02\n8,1879,151.98\n9,1879,158.12\n10,1879,175.92\n11,1879,185.86\n12,1879,186.06\n1,1880,193.78\n2,1880,198.24\n3,1880,202.22\n4,1880,198.64\n5,1880,183.65\n6,1880,184.91\n7,1880,194.36\n8,1880,202.40\n9,1880,202.73\n10,1880,209.39\n11,1880,221.46\n12,1880,231.13\n1,1881,245.74\n2,1881,245.62\n3,1881,249.43\n4,1881,249.78\n5,1881,261.61\n6,1881,265.50\n7,1881,257.38\n8,1881,252.23\n9,1881,255.19\n10,1881,252.06\n11,1881,254.53\n12,1881,248.43\n1,1882,245.32\n2,1882,241.17\n3,1882,241.67\n4,1882,242.64\n5,1882,240.52\n6,1882,240.51\n7,1882,255.28\n8,1882,263.75\n9,1882,267.50\n10,1882,261.69\n11,1882,251.57\n12,1882,253.79\n1,1883,253.86\n2,1883,249.05\n3,1883,253.49\n4,1883,260.14\n5,1883,256.37\n6,1883,260.34\n7,1883,257.13\n8,1883,246.64\n9,1883,250.68\n10,1883,245.18\n11,1883,249.85\n12,1883,245.95\n1,1884,239.73\n2,1884,247.26\n3,1884,247.33\n4,1884,238.70\n5,1884,219.50\n6,1884,211.98\n7,1884,213.20\n8,1884,228.10\n9,1884,221.51\n10,1884,215.42\n11,1884,212.33\n12,1884,212.85\n1,1885,209.04\n2,1885,216.51\n3,1885,218.07\n4,1885,218.57\n5,1885,217.07\n6,1885,217.07\n7,1885,226.13\n8,1885,239.77\n9,1885,237.68\n10,1885,252.45\n11,1885,269.81\n12,1885,268.69\n1,1886,269.64\n2,1886,275.77\n3,1886,270.98\n4,1886,268.25\n5,1886,263.95\n6,1886,276.91\n7,1886,282.01\n8,1886,285.00\n9,1886,293.32\n10,1886,301.67\n11,1886,310.04\n12,1886,302.93\n1,1887,300.65\n2,1887,299.43\n3,1887,307.41\n4,1887,315.40\n5,1887,321.80\n6,1887,313.51\n7,1887,306.91\n8,1887,300.28\n9,1887,297.49\n10,1887,288.65\n11,1887,295.33\n12,1887,294.80\n1,1888,298.17\n2,1888,297.62\n3,1888,287.50\n4,1888,289.79\n5,1888,294.90\n6,1888,286.83\n7,1888,295.34\n8,1888,302.73\n9,1888,311.27\n10,1888,310.55\n11,1888,305.14\n12,1888,300.29\n1,1889,307.10\n2,1889,311.60\n3,1889,306.13\n4,1889,306.54\n5,1889,315.82\n6,1889,322.19\n7,1889,316.71\n8,1889,321.97\n9,1889,330.84\n10,1889,325.90\n11,1889,323.96\n12,1889,323.23\n1,1890,327.86\n2,1890,325.20\n3,1890,323.77\n4,1890,331.54\n5,1890,346.71\n6,1890,345.27\n7,1890,343.89\n8,1890,336.90\n9,1890,332.39\n10,1890,318.41\n11,1890,296.25\n12,1890,290.38\n1,1891,306.60\n2,1891,311.48\n3,1891,306.85\n4,1891,318.15\n5,1891,317.99\n6,1891,312.71\n7,1891,308.72\n8,1891,320.23\n9,1891,347.35\n10,1891,348.49\n11,1891,344.42\n12,1891,356.10\n1,1892,363.87\n2,1892,365.72\n3,1892,370.91\n4,1892,371.47\n5,1892,372.71\n6,1892,371.94\n7,1892,373.17\n8,1892,379.79\n9,1892,371.56\n10,1892,380.27\n11,1892,380.19\n12,1892,377.37\n1,1893,385.55\n2,1893,380.02\n3,1893,367.61\n4,1893,368.98\n5,1893,337.67\n6,1893,322.98\n7,1893,294.21\n8,1893,288.51\n9,1893,310.37\n10,1893,320.88\n11,1893,327.16\n12,1893,316.99\n1,1894,311.78\n2,1894,317.31\n3,1894,327.94\n4,1894,333.51\n5,1894,322.32\n6,1894,319.13\n7,1894,313.72\n8,1894,326.77\n9,1894,333.19\n10,1894,324.01\n11,1894,325.23\n12,1894,323.46\n1,1895,320.92\n2,1895,317.62\n3,1895,318.84\n4,1895,333.71\n5,1895,353.20\n6,1895,361.24\n7,1895,363.91\n8,1895,370.44\n9,1895,373.91\n10,1895,369.63\n11,1895,358.34\n12,1895,338.40\n1,1896,335.56\n2,1896,350.76\n3,1896,346.40\n4,1896,350.73\n5,1896,350.28\n6,1896,345.08\n7,1896,323.88\n8,1896,306.62\n9,1896,323.88\n10,1896,332.29\n11,1896,356.13\n12,1896,344.27\n1,1897,345.42\n2,1897,343.32\n3,1897,345.31\n4,1897,335.75\n5,1897,338.57\n6,1897,355.50\n7,1897,372.50\n8,1897,397.87\n9,1897,418.30\n10,1897,406.02\n11,1897,392.89\n12,1897,402.53\n1,1898,414.73\n2,1898,415.10\n3,1898,397.58\n4,1898,391.98\n5,1898,418.95\n6,1898,436.55\n7,1898,439.58\n8,1898,457.31\n9,1898,457.79\n10,1898,449.57\n11,1898,465.81\n12,1898,496.14\n1,1899,535.31\n2,1899,556.94\n3,1899,566.25\n4,1899,574.70\n5,1899,552.14\n6,1899,541.07\n7,1899,561.27\n8,1899,577.04\n9,1899,572.24\n10,1899,571.07\n11,1899,583.43\n12,1899,545.27\n1,1900,554.22\n2,1900,565.93\n3,1900,572.21\n4,1900,581.30\n5,1900,555.58\n6,1900,540.82\n7,1900,542.59\n8,1900,551.84\n9,1900,551.84\n10,1900,540.73\n11,1900,562.32\n12,1900,608.32\n1,1901,667.84\n2,1901,686.88\n3,1901,713.45\n4,1901,775.22\n5,1901,738.13\n6,1901,813.76\n7,1901,761.35\n8,1901,774.07\n9,1901,772.48\n10,1901,766.08\n11,1901,784.80\n12,1901,774.56\n1,1902,793.52\n2,1902,802.72\n3,1902,806.15\n4,1902,836.14\n5,1902,836.53\n6,1902,834.05\n7,1902,855.40\n8,1902,880.82\n9,1902,885.39\n10,1902,859.95\n11,1902,829.37\n12,1902,812.84\n1,1903,856.87\n2,1903,854.46\n3,1903,823.59\n4,1903,792.61\n5,1903,779.94\n6,1903,739.60\n7,1903,718.73\n8,1903,688.44\n9,1903,674.64\n10,1903,655.56\n11,1903,660.50\n12,1903,693.63\n1,1904,707.79\n2,1904,691.29\n3,1904,691.74\n4,1904,711.41\n5,1904,699.02\n6,1904,702.71\n7,1904,734.49\n8,1904,762.06\n9,1904,798.42\n10,1904,847.98\n11,1904,896.61\n12,1904,908.08\n1,1905,930.64\n2,1905,974.30\n3,1905,1004.79\n4,1905,995.41\n5,1905,949.25\n6,1905,963.22\n7,1905,996.27\n8,1905,1036.22\n9,1905,1042.51\n10,1905,1060.17\n11,1905,1057.48\n12,1905,1086.60\n1,1906,1127.20\n2,1906,1122.29\n3,1906,1098.01\n4,1906,1086.27\n5,1906,1060.68\n6,1906,1077.74\n7,1906,1053.15\n8,1906,1134.20\n9,1906,1172.56\n10,1906,1169.00\n11,1906,1167.83\n12,1906,1160.93\n1,1907,1131.62\n2,1907,1099.90\n3,1907,995.84\n4,1907,1004.67\n5,1907,973.98\n6,1907,946.82\n7,1907,987.21\n8,1907,917.37\n9,1907,911.87\n10,1907,817.01\n11,1907,773.21\n12,1907,816.95\n1,1908,855.94\n2,1908,828.84\n3,1908,866.79\n4,1908,917.54\n5,1908,976.28\n6,1908,976.28\n7,1908,1016.12\n8,1908,1063.82\n9,1908,1056.32\n10,1908,1073.45\n11,1908,1150.36\n12,1908,1180.60\n1,1909,1188.83\n2,1909,1159.05\n3,1909,1179.23\n4,1909,1236.54\n5,1909,1282.12\n6,1909,1309.26\n7,1909,1332.53\n8,1909,1369.28\n9,1909,1375.31\n10,1909,1385.42\n11,1909,1383.37\n12,1909,1404.54\n1,1910,1379.35\n2,1910,1334.94\n3,1910,1372.84\n4,1910,1344.69\n5,1910,1327.52\n6,1910,1268.74\n7,1910,1209.74\n8,1910,1244.32\n9,1910,1258.05\n10,1910,1321.27\n11,1910,1325.21\n12,1910,1293.60\n1,1911,1330.63\n2,1911,1359.21\n3,1911,1348.81\n4,1911,1348.50\n5,1911,1383.08\n6,1911,1416.33\n7,1911,1415.99\n8,1911,1353.91\n9,1911,1285.64\n10,1911,1298.62\n11,1911,1356.32\n12,1911,1367.92\n1,1912,1374.95\n2,1912,1368.47\n3,1912,1413.59\n4,1912,1463.47\n5,1912,1464.71\n6,1912,1473.61\n7,1912,1481.00\n8,1912,1520.82\n9,1912,1534.39\n10,1912,1537.15\n11,1912,1525.86\n12,1912,1476.92\n1,1913,1470.26\n2,1913,1423.93\n3,1913,1402.92\n4,1913,1407.31\n5,1913,1374.92\n6,1913,1311.91\n7,1913,1335.88\n8,1913,1377.79\n9,1913,1397.06\n10,1913,1358.84\n11,1913,1330.58\n12,1913,1334.89\n1,1914,1395.59\n2,1914,1419.93\n3,1914,1399.06\n4,1914,1371.35\n5,1914,1385.73\n6,1914,1384.77\n7,1914,1313.92\n8,1914,1204.61\n9,1914,1209.95\n10,1914,1149.09\n11,1914,1198.59\n12,1914,1285.78\n1,1915,1314.61\n2,1915,1303.17\n3,1915,1342.73\n4,1915,1449.89\n5,1915,1422.13\n6,1915,1444.33\n7,1915,1444.95\n8,1915,1512.36\n9,1915,1574.60\n10,1915,1667.98\n11,1915,1732.48\n12,1915,1742.39\n1,1916,1721.23\n2,1916,1703.66\n3,1916,1705.40\n4,1916,1694.11\n5,1916,1738.82\n6,1916,1763.69\n7,1916,1747.33\n8,1916,1768.83\n9,1916,1849.54\n10,1916,1915.41\n11,1916,1968.14\n12,1916,1898.13\n1,1917,1861.44\n2,1917,1767.93\n3,1917,1832.71\n4,1917,1815.17\n5,1917,1763.91\n6,1917,1810.36\n7,1917,1771.17\n8,1917,1729.56\n9,1917,1657.31\n10,1917,1578.45\n11,1917,1457.85\n12,1917,1419.06\n1,1918,1532.27\n2,1918,1574.49\n3,1918,1524.69\n4,1918,1554.82\n5,1918,1590.12\n6,1918,1635.96\n7,1918,1636.11\n8,1918,1682.61\n9,1918,1664.49\n10,1918,1760.80\n11,1918,1744.79\n12,1918,1781.67\n1,1919,1763.08\n2,1919,1832.45\n3,1919,1852.92\n4,1919,1959.86\n5,1919,2129.58\n6,1919,2078.81\n7,1919,2216.64\n8,1919,2053.06\n9,1919,2103.47\n10,1919,2273.36\n11,1919,2149.02\n12,1919,2150.03\n1,1920,2097.67\n2,1920,1952.27\n3,1920,2154.50\n4,1920,2007.56\n5,1920,1937.22\n6,1920,1929.86\n7,1920,1893.72\n8,1920,1937.92\n9,1920,1937.92\n10,1920,1971.91\n11,1920,1823.00\n12,1920,1726.70\n1,1921,1808.51\n2,1921,1803.68\n3,1921,1771.43\n4,1921,1820.91\n5,1921,1796.62\n6,1921,1673.89\n7,1921,1729.59\n8,1921,1704.88\n9,1921,1761.04\n10,1921,1811.36\n11,1921,1937.66\n12,1921,1978.77\n1,1922,2005.12\n2,1922,2076.45\n3,1922,2154.48\n4,1922,2287.59\n5,1922,2414.93\n6,1922,2324.24\n7,1922,2364.52\n8,1922,2543.48\n9,1922,2518.06\n10,1922,2588.78\n11,1922,2473.41\n12,1922,2528.74\n1,1923,2542.68\n2,1923,2719.12\n3,1923,2692.53\n4,1923,2631.96\n5,1923,2537.09\n6,1923,2352.34\n7,1923,2409.23\n8,1923,2459.61\n9,1923,2395.11\n10,1923,2400.44\n11,1923,2546.96\n12,1923,2634.18\n1,1924,2725.45\n2,1924,2681.16\n3,1924,2622.33\n4,1924,2613.66\n5,1924,2641.36\n6,1924,2749.64\n7,1924,2884.25\n8,1924,2912.39\n9,1924,2929.57\n10,1924,2917.20\n11,1924,3132.47\n12,1924,3311.28\n1,1925,3392.82\n2,1925,3437.13\n3,1925,3223.17\n4,1925,3336.71\n5,1925,3523.78\n6,1925,3554.00\n7,1925,3696.79\n8,1925,3723.81\n9,1925,3837.00\n10,1925,4072.57\n11,1925,4077.08\n12,1925,4289.65\n1,1926,4299.56\n2,1926,4126.53\n3,1926,3898.71\n4,1926,3994.15\n5,1926,4052.64\n6,1926,4245.33\n7,1926,4342.75\n8,1926,4551.62\n9,1926,4675.18\n10,1926,4548.08\n11,1926,4669.49\n12,1926,4767.44\n1,1927,4688.44\n2,1927,4932.67\n3,1927,4985.18\n4,1927,5091.65\n5,1927,5378.71\n6,1927,5349.04\n7,1927,5718.92\n8,1927,5995.87\n9,1927,6211.46\n10,1927,5965.70\n11,1927,6392.59\n12,1927,6537.39\n1,1928,6526.68\n2,1928,6434.39\n3,1928,7156.00\n4,1928,7411.93\n5,1928,7529.21\n6,1928,7248.00\n7,1928,7363.11\n8,1928,7934.44\n9,1928,8149.72\n10,1928,8293.43\n11,1928,9314.66\n12,1928,9368.60\n1,1929,9929.73\n2,1929,9898.52\n3,1929,9901.73\n4,1929,10088.07\n5,1929,9682.55\n6,1929,10799.69\n7,1929,11321.16\n8,1929,12460.78\n9,1929,11880.34\n10,1929,9538.86\n11,1929,8293.22\n12,1929,8534.15\n1,1930,9101.72\n2,1930,9328.95\n3,1930,10102.86\n4,1930,10037.12\n5,1930,9907.09\n6,1930,8306.94\n7,1930,8640.33\n8,1930,8738.66\n9,1930,7627.41\n10,1930,6979.34\n11,1930,6859.77\n12,1930,6378.65\n1,1931,6722.90\n2,1931,7521.95\n3,1931,7026.97\n4,1931,6380.76\n5,1931,5533.66\n6,1931,6334.24\n7,1931,5886.95\n8,1931,5973.94\n9,1931,4204.05\n10,1931,4585.66\n11,1931,4158.98\n12,1931,3581.11\n1,1932,3498.06\n2,1932,3706.39\n3,1932,3286.60\n4,1932,2637.38\n5,1932,2037.58\n6,1932,2036.57\n7,1932,2820.80\n8,1932,3900.05\n9,1932,3775.03\n10,1932,3260.94\n11,1932,3087.27\n12,1932,3263.78\n1,1933,3303.17\n2,1933,2705.45\n3,1933,2809.83\n4,1933,4015.06\n5,1933,4675.87\n6,1933,5306.89\n7,1933,4847.61\n8,1933,5420.38\n9,1933,4817.56\n10,1933,4398.06\n11,1933,4869.51\n12,1933,4990.15\n1,1934,5535.25\n2,1934,5344.20\n3,1934,5359.56\n4,1934,5229.90\n5,1934,4816.96\n6,1934,4933.08\n7,1934,4377.19\n8,1934,4628.09\n9,1934,4625.08\n10,1934,4487.00\n11,1934,4882.45\n12,1934,4873.35\n1,1935,4689.24\n2,1935,4517.25\n3,1935,4390.20\n4,1935,4831.88\n5,1935,5005.59\n6,1935,5359.68\n7,1935,5825.84\n8,1935,5970.92\n9,1935,6129.76\n10,1935,6616.87\n11,1935,6891.64\n12,1935,7173.97\n1,1936,7666.84\n2,1936,7817.30\n3,1936,8035.76\n4,1936,7436.53\n5,1936,7801.51\n6,1936,8065.26\n7,1936,8647.46\n8,1936,8743.85\n9,1936,8785.44\n10,1936,9481.89\n11,1936,9549.66\n12,1936,9527.10\n1,1937,9924.99\n2,1937,10107.03\n3,1937,10043.52\n4,1937,9249.92\n5,1937,9190.07\n6,1937,8745.56\n7,1937,9675.81\n8,1937,9181.22\n9,1937,7913.58\n10,1937,7148.29\n11,1937,6458.85\n12,1937,6168.06\n1,1938,6294.54\n2,1938,6718.36\n3,1938,5071.71\n4,1938,5822.24\n5,1938,5602.17\n6,1938,7024.76\n7,1938,7563.17\n8,1938,7389.21\n9,1938,7538.73\n10,1938,8131.05\n11,1938,7892.79\n12,1938,8215.80\n1,1939,7678.87\n2,1939,7957.39\n3,1939,6904.14\n4,1939,6892.28\n5,1939,7349.44\n6,1939,6906.59\n7,1939,7689.44\n8,1939,7172.33\n9,1939,8381.49\n10,1939,8293.09\n11,1939,7919.57\n12,1939,8141.08\n1,1940,7888.07\n2,1940,7971.88\n3,1940,8089.13\n4,1940,8083.29\n5,1940,6181.88\n6,1940,6696.79\n7,1940,6936.92\n8,1940,7152.82\n9,1940,7267.50\n10,1940,7588.71\n11,1940,7307.86\n12,1940,7320.25\n1,1941,7010.94\n2,1941,6945.15\n3,1941,7011.28\n4,1941,6599.74\n5,1941,6658.29\n6,1941,7058.23\n7,1941,7488.12\n8,1941,7466.70\n9,1941,7435.91\n10,1941,6974.15\n11,1941,6721.98\n12,1941,6458.86\n1,1942,6590.62\n2,1942,6423.86\n3,1942,6075.53\n4,1942,5851.80\n5,1942,6268.15\n6,1942,6425.81\n7,1942,6667.08\n8,1942,6754.04\n9,1942,6974.76\n10,1942,7462.71\n11,1942,7398.67\n12,1942,7820.11\n1,1943,8419.79\n2,1943,8885.52\n3,1943,9393.71\n4,1943,9441.70\n5,1943,9905.35\n6,1943,10141.90\n7,1943,9632.77\n8,1943,9772.94\n9,1943,10046.27\n10,1943,9955.51\n11,1943,9246.32\n12,1943,9834.38\n1,1944,10029.59\n2,1944,10047.97\n3,1944,10261.92\n4,1944,10178.70\n5,1944,10635.32\n6,1944,11223.03\n7,1944,11035.73\n8,1944,11177.53\n9,1944,11189.17\n10,1944,11235.89\n11,1944,11326.75\n12,1944,11771.12\n1,1945,11987.59\n2,1945,12774.50\n3,1945,12233.34\n4,1945,13358.17\n5,1945,13559.95\n6,1945,13563.65\n7,1945,13341.50\n8,1945,14165.16\n9,1945,14808.98\n10,1945,15308.37\n11,1945,15855.43\n12,1945,16062.94\n1,1946,17234.94\n2,1946,16090.34\n3,1946,16888.01\n4,1946,17576.04\n5,1946,18022.69\n6,1946,17371.20\n7,1946,16982.09\n8,1946,15797.90\n9,1946,14251.10\n10,1946,14199.52\n11,1946,14087.43\n12,1946,14748.93\n1,1947,15146.62\n2,1947,14987.12\n3,1947,14799.05\n4,1947,14283.61\n5,1947,14214.01\n6,1947,15027.99\n7,1947,15640.44\n8,1947,15256.03\n9,1947,15108.22\n10,1947,15505.86\n11,1947,15133.13\n12,1947,15521.78\n1,1948,14980.44\n2,1948,14346.62\n3,1948,15515.92\n4,1948,16003.58\n5,1948,17326.87\n6,1948,17465.80\n7,1948,16595.87\n8,1948,16803.82\n9,1948,16376.56\n10,1948,17563.48\n11,1948,15746.38\n12,1948,16313.24\n1,1949,16427.98\n2,1949,15863.87\n3,1949,16430.76\n4,1949,16180.03\n5,1949,15665.33\n6,1949,15717.46\n7,1949,16806.50\n8,1949,17100.15\n9,1949,17593.53\n10,1949,18221.12\n11,1949,18349.38\n12,1949,19260.20\n1,1950,19705.47\n2,1950,20014.56\n3,1950,20209.29\n4,1950,21237.86\n5,1950,22189.86\n6,1950,21020.05\n7,1950,21330.07\n8,1950,22156.04\n9,1950,23527.72\n10,1950,23772.74\n11,1950,23897.41\n12,1950,25149.80\n1,1951,26846.23\n2,1951,27176.69\n3,1951,26835.88\n4,1951,28290.42\n5,1951,27306.64\n6,1951,26760.96\n7,1951,28761.32\n8,1951,30191.47\n9,1951,30191.47\n10,1951,29928.71\n11,1951,30003.67\n12,1951,31324.80\n1,1952,31977.55\n2,1952,30966.15\n3,1952,32598.52\n4,1952,31362.58\n5,1952,32236.28\n6,1952,33889.98\n7,1952,34659.69\n8,1952,34326.57\n9,1952,33819.25\n10,1952,33945.31\n11,1952,35695.51\n12,1952,37120.23\n1,1953,37020.27\n2,1953,36513.08\n3,1953,35809.32\n4,1953,35024.11\n5,1953,35093.04\n6,1953,34686.10\n7,1953,35742.55\n8,1953,33840.81\n9,1953,34048.72\n10,1953,35970.23\n11,1953,36460.96\n12,1953,36712.38\n1,1954,38775.70\n2,1954,39070.80\n3,1954,40420.24\n4,1954,42586.30\n5,1954,44172.67\n6,1954,44393.23\n7,1954,47105.64\n8,1954,45697.31\n9,1954,49684.42\n10,1954,48914.81\n11,1954,53059.63\n12,1954,55951.04\n1,1955,57151.37\n2,1955,57570.95\n3,1955,57498.77\n4,1955,59854.16\n5,1955,59981.54\n6,1955,65125.23\n7,1955,69310.75\n8,1955,68984.32\n9,1955,69984.22\n10,1955,68064.23\n11,1955,73385.17\n12,1955,73535.76\n1,1956,71101.26\n2,1956,73787.11\n3,1956,79146.13\n4,1956,79226.44\n5,1956,74254.75\n6,1956,77418.25\n7,1956,81656.45\n8,1956,78786.66\n9,1956,75469.34\n10,1956,76107.16\n11,1956,75508.44\n12,1956,78408.96\n1,1957,75371.77\n2,1957,73149.36\n3,1957,74830.29\n4,1957,77839.93\n5,1957,80961.47\n6,1957,81105.00\n7,1957,82280.44\n8,1957,77912.39\n9,1957,73340.86\n10,1957,71247.45\n11,1957,72651.49\n12,1957,69898.84\n1,1958,73145.30\n2,1958,71895.28\n3,1958,74372.80\n4,1958,76994.53\n5,1958,78401.89\n6,1958,80702.93\n7,1958,84438.96\n8,1958,85698.74\n9,1958,90103.64\n10,1958,92652.07\n11,1958,94990.72\n12,1958,100196.11\n1,1959,100844.59\n2,1959,101094.42\n3,1959,101418.04\n4,1959,105624.14\n5,1959,107896.82\n6,1959,107784.83\n7,1959,111823.35\n8,1959,110420.68\n9,1959,105660.61\n10,1959,107132.63\n11,1959,108832.18\n12,1959,112123.89\n1,1960,104413.82\n2,1960,105675.22\n3,1960,104511.26\n4,1960,102986.57\n5,1960,106059.64\n6,1960,108439.37\n7,1960,106062.48\n8,1960,109143.16\n9,1960,102862.72\n10,1960,102924.13\n11,1960,107382.03\n12,1960,112665.49\n1,1961,120094.43\n2,1961,123635.78\n3,1961,127107.81\n4,1961,127912.03\n5,1961,130676.33\n6,1961,127243.77\n7,1961,131718.58\n8,1961,134625.56\n9,1961,132298.71\n10,1961,136379.13\n11,1961,142079.54\n12,1961,142872.70\n1,1962,137800.38\n2,1962,140383.11\n3,1962,139901.15\n4,1962,131577.08\n5,1962,120608.50\n6,1962,111085.12\n7,1962,118497.36\n8,1962,120661.40\n9,1962,115198.78\n10,1962,116074.11\n11,1962,128226.66\n12,1962,130322.71\n1,1963,137095.55\n2,1963,133510.65\n3,1963,138617.62\n4,1963,145724.92\n5,1963,148195.75\n6,1963,145586.11\n7,1963,145469.31\n8,1963,152948.52\n9,1963,151649.04\n10,1963,156936.58\n11,1963,155685.05\n12,1963,159894.58\n1,1964,164613.17\n2,1964,166651.28\n3,1964,169594.80\n4,1964,171052.07\n5,1964,173437.77\n6,1964,176713.82\n7,1964,180376.37\n8,1964,177889.55\n9,1964,183440.44\n10,1964,185376.86\n11,1964,184870.57\n12,1964,186049.48\n1,1965,192684.33\n2,1965,192866.42\n3,1965,190533.69\n4,1965,197538.45\n5,1965,196490.72\n6,1965,187417.99\n7,1965,190429.44\n8,1965,195213.20\n9,1965,201958.22\n10,1965,207989.19\n11,1965,206676.57\n12,1965,209037.42\n1,1966,210578.51\n2,1966,207340.60\n3,1966,203344.71\n4,1966,208052.87\n5,1966,197328.39\n6,1966,194684.20\n7,1966,192618.91\n8,1966,178197.70\n9,1966,177505.53\n10,1966,186499.67\n11,1966,187637.59\n12,1966,187915.10\n1,1967,203171.44\n2,1967,204136.83\n3,1967,212751.22\n4,1967,222306.85\n5,1967,211221.07\n6,1967,215493.16\n7,1967,225842.71\n8,1967,231695.47\n9,1967,231695.47\n10,1967,225546.37\n11,1967,226371.73\n12,1967,232906.62\n1,1968,223288.02\n2,1968,216911.19\n3,1968,219546.84\n4,1968,237822.58\n5,1968,241407.66\n6,1968,244218.41\n7,1968,240325.08\n8,1968,253712.98\n9,1968,253712.98\n10,1968,256174.10\n11,1968,269094.46\n12,1968,258531.79\n1,1969,257059.11\n2,1969,245526.04\n3,1969,254628.50\n4,1969,260751.41\n5,1969,260829.96\n6,1969,246990.70\n7,1969,232790.77\n8,1969,242785.47\n9,1969,237376.84\n10,1969,248243.95\n11,1969,240456.81\n12,1969,236645.64\n1,1970,231685.54\n2,1970,228810.30\n3,1970,228786.63\n4,1970,204883.06\n5,1970,189870.26\n6,1970,192023.73\n7,1970,199693.42\n8,1970,203704.56\n9,1970,210089.26\n10,1970,204483.13\n11,1970,197705.60\n12,1970,204909.09\n1,1971,214654.16\n2,1971,217418.18\n3,1971,228710.91\n4,1971,233822.45\n5,1971,235857.61\n6,1971,240129.06\n7,1971,246388.34\n8,1971,242720.33\n9,1971,242232.84\n10,1971,232416.78\n11,1971,236839.68\n12,1971,273141.12\n1,1972,293291.50\n2,1972,311399.62\n3,1972,314807.32\n4,1972,327124.73\n5,1972,349639.19\n6,1972,337948.90\n7,1972,359273.04\n8,1972,363854.50\n9,1972,346546.23\n10,1972,346184.17\n11,1972,375033.64\n12,1972,383391.96\n1,1973,401026.79\n2,1973,442342.75\n3,1973,452378.90\n4,1973,421662.29\n5,1973,429223.12\n6,1973,435420.87\n7,1973,435922.56\n8,1973,412544.34\n9,1973,420363.11\n10,1973,428593.64\n11,1973,358641.19\n12,1973,342473.56\n1,1974,358167.90\n2,1974,372844.66\n3,1974,363258.15\n4,1974,369392.00\n5,1974,350027.29\n6,1974,332259.94\n7,1974,322973.96\n8,1974,289467.31\n9,1974,272866.62\n10,1974,272717.53\n11,1974,281688.77\n12,1974,279019.40\n1,1975,326211.28\n2,1975,366105.00\n3,1975,362145.91\n4,1975,376216.86\n5,1975,375568.46\n6,1975,363925.49\n7,1975,350379.89\n8,1975,348737.57\n9,1975,331587.86\n10,1975,355179.07\n11,1975,364190.53\n12,1975,370433.24\n1,1976,390976.45\n2,1976,390316.21\n3,1976,383174.25\n4,1976,382814.54\n5,1976,373831.48\n6,1976,378576.22\n7,1976,373502.54\n8,1976,372515.73\n9,1976,366796.00\n10,1976,345133.46\n11,1976,344572.61\n12,1976,383588.38\n1,1977,380332.13\n2,1977,388318.92\n3,1977,389419.32\n4,1977,398617.74\n5,1977,396660.68\n6,1977,406299.26\n7,1977,400934.50\n8,1977,415653.86\n9,1977,428023.33\n10,1977,434826.89\n11,1977,433896.87\n12,1977,450781.54\n1,1978,454018.85\n2,1978,458851.15\n3,1978,490982.90\n4,1978,488192.85\n5,1978,500003.83\n6,1978,520483.14\n7,1978,565400.85\n8,1978,577221.30\n9,1978,594541.39\n10,1978,623797.89\n11,1978,572000.90\n12,1978,599984.24\n1,1979,604982.20\n2,1979,604241.50\n3,1979,621545.03\n4,1979,620988.91\n5,1979,612732.34\n6,1979,625896.94\n7,1979,629709.30\n8,1979,650515.19\n9,1979,682258.83\n10,1979,626164.35\n11,1979,640389.12\n12,1979,665627.38\n1,1980,707206.01\n2,1980,716309.77\n3,1980,627685.98\n4,1980,684189.86\n5,1980,720342.21\n6,1980,767131.79\n7,1980,767614.55\n8,1980,793955.57\n9,1980,823297.26\n10,1980,852179.86\n11,1980,840099.10\n12,1980,834963.89\n1,1981,819378.41\n2,1981,808838.22\n3,1981,841419.59\n4,1981,859761.99\n5,1981,830647.48\n6,1981,831414.21\n7,1981,798127.63\n8,1981,817295.93\n9,1981,734041.63\n10,1981,743100.42\n11,1981,825573.79\n12,1981,814472.75\n1,1982,801554.26\n2,1982,746993.25\n3,1982,710209.05\n4,1982,751035.15\n5,1982,740544.65\n6,1982,681918.06\n7,1982,678737.54\n8,1982,689424.46\n9,1982,686525.55\n10,1982,696935.59\n11,1982,749513.52\n12,1982,812364.24\n1,1983,811685.06\n2,1983,829854.71\n3,1983,861037.51\n4,1983,915652.96\n5,1983,915054.24\n6,1983,936193.80\n7,1983,939286.76\n8,1983,927272.26\n9,1983,956417.53\n10,1983,945945.96\n11,1983,977145.32\n12,1983,1013726.01\n1,1984,1047507.17\n2,1984,1062060.88\n3,1984,1146403.75\n4,1984,1126842.62\n5,1984,1020986.29\n6,1984,1016674.61\n7,1984,950624.45\n8,1984,1038453.11\n9,1984,1028260.78\n10,1984,1047403.05\n11,1984,1032998.43\n12,1984,1048886.81\n1,1985,1078791.72\n2,1985,1068862.07\n3,1985,1149170.14\n4,1985,1146344.59\n5,1985,1192478.65\n6,1985,1219212.51\n7,1985,1278319.49\n8,1985,1313740.61\n9,1985,1377736.69\n10,1985,1458250.63\n11,1985,1522454.96\n12,1985,1588017.63\n1,1986,1625372.15\n2,1986,1794225.91\n3,1986,2037424.26\n4,1986,2163501.95\n5,1986,2073048.89\n6,1986,2203625.22\n7,1986,2327615.70\n8,1986,2553837.10\n9,1986,2531843.25\n10,1986,2372289.67\n11,1986,2505379.17\n12,1986,2633572.48\n1,1987,2918534.05\n2,1987,3010253.17\n3,1987,3264815.24\n4,1987,3590366.28\n5,1987,3588314.56\n6,1987,3485676.62\n7,1987,3500303.68\n8,1987,3749848.87\n9,1987,3694106.99\n10,1987,3158296.31\n11,1987,3182793.87\n12,1987,3280381.79\n1,1988,3331946.88\n2,1988,3553281.54\n3,1988,3770834.61\n4,1988,3824917.60\n5,1988,3702784.79\n6,1988,3619757.67\n7,1988,3726366.52\n8,1988,3486668.16\n9,1988,3635246.12\n10,1988,3939716.76\n11,1988,4166241.06\n12,1988,4192402.24\n1,1989,4276626.79\n2,1989,4294252.15\n3,1989,4216426.50\n4,1989,4258362.48\n5,1989,4036431.47\n6,1989,3977180.13\n7,1989,4468250.59\n8,1989,4279452.34\n9,1989,4464809.76\n10,1989,4294647.35\n11,1989,4505858.31\n12,1989,4671370.64\n1,1990,4492085.54\n2,1990,4188611.18\n3,1990,3772633.11\n4,1990,3730971.65\n5,1990,4149678.24\n6,1990,4113864.29\n7,1990,4174599.39\n8,1990,3780369.06\n9,1990,3271031.92\n10,1990,3750731.56\n11,1990,3543543.57\n12,1990,3605670.15\n1,1991,3716945.66\n2,1991,4109287.56\n3,1991,3872869.10\n4,1991,3912436.25\n5,1991,3960543.95\n6,1991,3680613.46\n7,1991,3856171.39\n8,1991,3782532.00\n9,1991,3983077.34\n10,1991,4046309.06\n11,1991,3863576.03\n12,1991,4054106.53\n1,1992,3975450.25\n2,1992,3838361.44\n3,1992,3588413.95\n4,1992,3602707.35\n5,1992,3835202.22\n6,1992,3662597.62\n7,1992,3577608.71\n8,1992,3788017.44\n9,1992,3704836.50\n10,1992,3522680.89\n11,1992,3548255.19\n12,1992,3570322.39\n1,1993,3569027.94\n2,1993,3682248.68\n3,1993,3996154.38\n4,1993,4367820.55\n5,1993,4462942.63\n6,1993,4395851.22\n7,1993,4545288.21\n8,1993,4780587.33\n9,1993,4669600.53\n10,1993,4826328.57\n11,1993,4417447.51\n12,1993,4734708.84\n1,1994,5129116.66\n2,1994,5106890.90\n3,1994,4888192.47\n4,1994,5087057.63\n5,1994,5061440.74\n6,1994,5120874.29\n7,1994,5178272.69\n8,1994,5308628.94\n9,1994,5154844.77\n10,1994,5318317.21\n11,1994,5061040.81\n12,1994,5096532.92\n1,1995,4896605.22\n2,1995,4894480.14\n3,1995,5197687.10\n4,1995,5390801.77\n5,1995,5338138.65\n6,1995,5252877.59\n7,1995,5572394.16\n8,1995,5369134.49\n9,1995,5470539.51\n10,1995,5328687.02\n11,1995,5480284.58\n12,1995,5696131.43\n1,1996,5730927.80\n2,1996,5749071.43\n3,1996,5872302.27\n4,1996,6047233.09\n5,1996,5945430.51\n6,1996,5972715.75\n7,1996,5799377.55\n8,1996,5822919.06\n9,1996,5982146.08\n10,1996,5943733.76\n11,1996,6190313.78\n12,1996,6105978.01\n1,1997,5917144.25\n2,1997,6008288.32\n3,1997,6015868.08\n4,1997,6054299.33\n5,1997,6455042.15\n6,1997,6801257.08\n7,1997,6927663.71\n8,1997,6418901.63\n9,1997,6780690.21\n10,1997,6270697.57\n11,1997,6202030.10\n12,1997,6262528.56\n1,1998,6530955.70\n2,1998,6957802.90\n3,1998,7187924.22\n4,1998,7245412.54\n5,1998,7209404.54\n6,1998,7249329.03\n7,1998,7298359.63\n8,1998,6367928.16\n9,1998,6187755.64\n10,1998,6833774.56\n11,1998,7181733.57\n12,1998,7459063.32\n1,1999,7462227.27\n2,1999,7276254.57\n3,1999,7581614.99\n4,1999,7908510.17\n5,1999,7510786.96\n6,1999,7806189.34\n7,1999,8032727.84\n8,1999,8057398.14\n9,1999,8146230.18\n10,1999,8462791.05\n11,1999,8760519.65\n12,1999,9567803.11\n1,2000,8988179.85\n2,2000,9244717.92\n3,2000,9625958.77\n4,2000,9128423.16\n5,2000,8909050.29\n6,2000,9296190.71\n7,2000,8942658.70\n8,2000,9061284.42\n9,2000,8593641.88\n10,2000,8361156.48\n11,2000,8026070.99\n12,2000,8308957.19\n1,2001,8324672.82\n2,2001,7666045.42\n3,2001,7149708.31\n4,2001,7651574.54\n5,2001,7405635.83\n6,2001,7106444.76\n7,2001,6982246.03\n8,2001,6797361.89\n9,2001,6112942.49\n10,2001,6262504.89\n11,2001,6509141.71\n12,2001,6551162.87\n1,2002,6218498.27\n2,2002,6256799.37\n3,2002,6592530.90\n4,2002,6635363.76\n5,2002,6728102.82\n6,2002,6456980.28\n7,2002,5815639.84\n8,2002,5808024.59\n9,2002,5193552.90\n10,2002,5466838.38\n11,2002,5719291.94\n12,2002,5535008.88\n1,2003,5324611.98\n2,2003,5220253.62\n3,2003,5123512.89\n4,2003,5620804.76\n5,2003,5974490.59\n6,2003,6123120.62\n7,2003,6264535.31\n8,2003,6427274.15\n9,2003,6621453.73\n10,2003,7036615.36\n11,2003,7197224.39\n12,2003,7749635.76\n1,2004,7858215.88\n2,2004,8040357.29\n3,2004,8083781.76\n4,2004,7878749.62\n5,2004,7922992.89\n6,2004,8109216.44\n7,2004,7863114.44\n8,2004,7897700.20\n9,2004,8129198.79\n10,2004,8421953.11\n11,2004,8984478.72\n12,2004,9364822.68\n1,2005,9181214.07\n2,2005,9591827.37\n3,2005,9377850.02\n4,2005,9148786.51\n5,2005,9174696.84\n6,2005,9328450.25\n7,2005,9630367.48\n8,2005,9899123.56\n9,2005,10353024.09\n10,2005,10019266.18\n11,2005,10287456.68\n12,2005,10765421.70\n1,2006,11447155.18\n2,2006,11410702.29\n3,2006,11778149.07\n4,2006,12349598.58\n5,2006,11894588.18\n6,2006,11884544.94\n7,2006,11997427.28\n8,2006,12341907.60\n9,2006,12334618.91\n10,2006,12823320.54\n11,2006,13209034.00\n12,2006,13589049.02\n1,2007,13673226.24\n2,2007,13784795.19\n3,2007,14144605.42\n4,2007,14800793.00\n5,2007,15148006.57\n6,2007,15168346.27\n7,2007,14960453.08\n8,2007,14747751.25\n9,2007,15588863.19\n10,2007,16268540.22\n11,2007,15636717.67\n12,2007,15344346.72\n1,2008,13962719.58\n2,2008,14220199.50\n3,2008,14024204.85\n4,2008,14820770.62\n5,2008,15072109.59\n6,2008,13903695.43\n7,2008,13410466.76\n8,2008,12895603.95\n9,2008,11038321.45\n10,2008,8743145.13\n11,2008,8273216.60\n12,2008,8710774.37\n1,2009,7899704.59\n2,2009,7102719.96\n3,2009,7574581.89\n4,2009,8562847.19\n5,2009,9660520.87\n6,2009,9563600.28\n7,2009,10463220.50\n8,2009,10966591.79\n9,2009,11421571.42\n10,2009,11239212.30\n11,2009,11520389.91\n12,2009,11706137.80\n1,2010,11158606.06\n2,2010,11148747.40\n3,2010,11873559.85\n4,2010,11706028.94\n5,2010,10429415.67\n6,2010,10281474.28\n7,2010,11233293.79\n8,2010,10899370.23\n9,2010,11947833.45\n10,2010,12374675.92\n11,2010,11853982.16\n12,2010,12810338.16\n1,2011,13088408.62\n2,2011,13576826.28\n3,2011,13311212.85\n4,2011,14048624.31\n5,2011,13651338.89\n6,2011,13460957.48\n7,2011,13241634.30\n8,2011,12124035.06\n9,2011,10910859.38\n10,2011,11973109.57\n11,2011,11423173.51\n12,2011,11300839.55\n1,2012,11913543.50\n2,2012,12572248.99\n3,2012,12487115.72\n4,2012,12288768.82\n5,2012,10902527.09\n6,2012,11621705.00\n7,2012,11768368.50\n8,2012,12105955.33\n9,2012,12478345.64\n10,2012,12567404.86\n11,2012,12833510.51\n12,2012,13224134.36\n1,2013,13877477.46\n2,2013,13742923.12\n3,2013,13859648.58\n4,2013,14507068.44\n5,2013,14197263.80\n6,2013,13669598.47\n7,2013,14398575.88\n8,2013,14215199.18\n9,2013,15223766.31\n10,2013,15735635.55\n11,2013,15835185.27\n12,2013,16076942.45\n1,2014,15430201.76\n2,2014,16276529.38\n3,2014,16215207.39\n4,2014,16484318.44\n5,2014,16759478.16\n6,2014,17003724.85\n7,2014,16702340.07\n8,2014,16717589.51\n9,2014,16037036.90\n10,2014,15783565.76\n11,2014,15979931.94\n12,2014,15453506.62\n1,2015,15400926.33\n2,2015,16323113.07\n3,2015,16064916.12\n4,2015,16773260.40\n5,2015,16645751.00\n6,2015,16177810.29\n7,2015,16435936.24\n8,2015,15240828.46\n9,2015,14477307.88\n10,2015,15568319.99\n11,2015,15322854.57\n12,2015,15051542.71\n1,2016,14017538.54\n2,2016,13826693.30\n3,2016,14777407.68\n4,2016,15268404.77\n5,2016,15113771.05\n6,2016,14661243.07\n7,2016,15384337.47\n8,2016,15400900.30\n9,2016,15595820.58\n10,2016,15294447.63\n11,2016,15051635.01\n12,2016,15546811.26\n1,2017,16011095.80\n2,2017,16198590.14\n3,2017,16627948.15\n4,2017,16993423.67\n5,2017,17581918.76\n6,2017,17604229.71\n7,2017,18129893.03\n8,2017,18128847.06\n9,2017,18606672.46\n10,2017,18863295.72\n11,2017,19057267.04\n12,2017,19404359.93\n1,2018,20310331.71\n2,2018,19348982.48\n3,2018,19032632.23\n4,2018,19489628.09\n5,2018,19145012.88\n6,2018,18941556.79\n7,2018,19409014.75\n8,2018,19045169.72\n9,2018,19202709.45\n10,2018,17679109.13\n11,2018,17666429.65\n12,2018,16758086.68\n1,2019,17957226.91\n2,2019,18421388.39\n3,2019,18534978.30\n4,2019,19077646.97\n5,2019,18200967.18\n6,2019,19289567.87\n7,2019,19059763.66\n8,2019,18594579.86\n9,2019,19126301.31\n10,2019,19747515.03\n11,2019,19997706.26\n12,2019,20639889.16\n1,2020,20243420.16\n2,2020,18449733.80\n3,2020,15862479.98\n4,2020,16981818.56\n5,2020,17714703.00\n6,2020,18328580.71\n7,2020,18821506.46\n8,2020,19795838.07\n9,2020,19247719.45\n10,2020,18494194.79\n11,2020,21334820.36\n12,2020,22309795.65\n1,2021,22074924.85\n2,2021,22641208.39\n3,2021,23240025.97\n4,2021,23990008.05\n5,2021,24845434.69\n6,2021,24600608.22\n7,2021,24767594.85\n8,2021,25168292.70\n9,2021,24463464.98\n10,2021,25198301.73\n11,2021,24023500.51\n12,2021,25248028.08\n1,2022,24136787.51\n2,2022,23764347.51\n3,2022,24066610.25\n4,2022,22505707.47\n5,2022,22722399.14\n6,2022,20590633.73\n7,2022,21617881.67\n8,2022,20611915.28\n9,2022,18714149.80\n10,2022,19748702.99\n11,2022,21856384.98\n12,2022,21757843.37\n1,2023,23545303.58\n2,2023,22999302.93\n3,2023,23538885.75\n4,2023,24230731.09\n5,2023,23203549.42\n6,2023,24315052.67\n7,2023,25106182.69\n8,2023,24139298.32\n9,2023,23336851.90\n10,2023,22355354.66\n11,2023,24461193.18\n12,2023,25803906.31\n1,2024,25919039.15\n2,2024,26365920.76\n3,2024,27285220.43\n4,2024,26589510.66\n5,2024,27638470.83\n6,2024,27188084.50\n7,2024,28045645.68\n8,2024,28985741.76\n9,2024,29320053.42\n10,2024,27830238.99\n11,2024,27902463.24\n12,2024,27160830.02\n1,2025,28515728.04\n2,2025,29020758.22\n3,2025,28885370.88\n4,2025,30231108.35\n5,2025,31695263.29\n6,2025,32446979.98\n7,2025,32059617.11\n8,2025,33476142.39\n9,2025,34203082.28\n10,2025,34577578.73\n11,2025,34945998.12\n12,2025,36001572.54\n`,
        'gold': `1,1871,22.59\n2,1871,22.59\n3,1871,22.59\n4,1871,22.59\n5,1871,22.59\n6,1871,22.59\n7,1871,22.59\n8,1871,22.59\n9,1871,22.59\n10,1871,22.59\n11,1871,22.59\n12,1871,22.59\n1,1872,23.19\n2,1872,23.19\n3,1872,23.19\n4,1872,23.19\n5,1872,23.19\n6,1872,23.19\n7,1872,23.19\n8,1872,23.19\n9,1872,23.19\n10,1872,23.19\n11,1872,23.19\n12,1872,23.19\n1,1873,22.74\n2,1873,22.74\n3,1873,22.74\n4,1873,22.74\n5,1873,22.74\n6,1873,22.74\n7,1873,22.74\n8,1873,22.74\n9,1873,22.74\n10,1873,22.74\n11,1873,22.74\n12,1873,22.74\n1,1874,23.09\n2,1874,23.09\n3,1874,23.09\n4,1874,23.09\n5,1874,23.09\n6,1874,23.09\n7,1874,23.09\n8,1874,23.09\n9,1874,23.09\n10,1874,23.09\n11,1874,23.09\n12,1874,23.09\n1,1875,23.54\n2,1875,23.54\n3,1875,23.54\n4,1875,23.54\n5,1875,23.54\n6,1875,23.54\n7,1875,23.54\n8,1875,23.54\n9,1875,23.54\n10,1875,23.54\n11,1875,23.54\n12,1875,23.54\n1,1876,22.30\n2,1876,22.30\n3,1876,22.30\n4,1876,22.30\n5,1876,22.30\n6,1876,22.30\n7,1876,22.30\n8,1876,22.30\n9,1876,22.30\n10,1876,22.30\n11,1876,22.30\n12,1876,22.30\n1,1877,21.25\n2,1877,21.25\n3,1877,21.25\n4,1877,21.25\n5,1877,21.25\n6,1877,21.25\n7,1877,21.25\n8,1877,21.25\n9,1877,21.25\n10,1877,21.25\n11,1877,21.25\n12,1877,21.25\n1,1878,20.69\n2,1878,20.69\n3,1878,20.69\n4,1878,20.69\n5,1878,20.69\n6,1878,20.69\n7,1878,20.69\n8,1878,20.69\n9,1878,20.69\n10,1878,20.69\n11,1878,20.69\n12,1878,20.69\n1,1879,20.67\n2,1879,20.67\n3,1879,20.67\n4,1879,20.67\n5,1879,20.67\n6,1879,20.67\n7,1879,20.67\n8,1879,20.67\n9,1879,20.67\n10,1879,20.67\n11,1879,20.67\n12,1879,20.67\n1,1880,20.67\n2,1880,20.67\n3,1880,20.67\n4,1880,20.67\n5,1880,20.67\n6,1880,20.67\n7,1880,20.67\n8,1880,20.67\n9,1880,20.67\n10,1880,20.67\n11,1880,20.67\n12,1880,20.67\n1,1881,20.67\n2,1881,20.67\n3,1881,20.67\n4,1881,20.67\n5,1881,20.67\n6,1881,20.67\n7,1881,20.67\n8,1881,20.67\n9,1881,20.67\n10,1881,20.67\n11,1881,20.67\n12,1881,20.67\n1,1882,20.67\n2,1882,20.67\n3,1882,20.67\n4,1882,20.67\n5,1882,20.67\n6,1882,20.67\n7,1882,20.67\n8,1882,20.67\n9,1882,20.67\n10,1882,20.67\n11,1882,20.67\n12,1882,20.67\n1,1883,20.67\n2,1883,20.67\n3,1883,20.67\n4,1883,20.67\n5,1883,20.67\n6,1883,20.67\n7,1883,20.67\n8,1883,20.67\n9,1883,20.67\n10,1883,20.67\n11,1883,20.67\n12,1883,20.67\n1,1884,20.67\n2,1884,20.67\n3,1884,20.67\n4,1884,20.67\n5,1884,20.67\n6,1884,20.67\n7,1884,20.67\n8,1884,20.67\n9,1884,20.67\n10,1884,20.67\n11,1884,20.67\n12,1884,20.67\n1,1885,20.67\n2,1885,20.67\n3,1885,20.67\n4,1885,20.67\n5,1885,20.67\n6,1885,20.67\n7,1885,20.67\n8,1885,20.67\n9,1885,20.67\n10,1885,20.67\n11,1885,20.67\n12,1885,20.67\n1,1886,20.67\n2,1886,20.67\n3,1886,20.67\n4,1886,20.67\n5,1886,20.67\n6,1886,20.67\n7,1886,20.67\n8,1886,20.67\n9,1886,20.67\n10,1886,20.67\n11,1886,20.67\n12,1886,20.67\n1,1887,20.67\n2,1887,20.67\n3,1887,20.67\n4,1887,20.67\n5,1887,20.67\n6,1887,20.67\n7,1887,20.67\n8,1887,20.67\n9,1887,20.67\n10,1887,20.67\n11,1887,20.67\n12,1887,20.67\n1,1888,20.67\n2,1888,20.67\n3,1888,20.67\n4,1888,20.67\n5,1888,20.67\n6,1888,20.67\n7,1888,20.67\n8,1888,20.67\n9,1888,20.67\n10,1888,20.67\n11,1888,20.67\n12,1888,20.67\n1,1889,20.67\n2,1889,20.67\n3,1889,20.67\n4,1889,20.67\n5,1889,20.67\n6,1889,20.67\n7,1889,20.67\n8,1889,20.67\n9,1889,20.67\n10,1889,20.67\n11,1889,20.67\n12,1889,20.67\n1,1890,20.67\n2,1890,20.67\n3,1890,20.67\n4,1890,20.67\n5,1890,20.67\n6,1890,20.67\n7,1890,20.67\n8,1890,20.67\n9,1890,20.67\n10,1890,20.67\n11,1890,20.67\n12,1890,20.67\n1,1891,20.67\n2,1891,20.67\n3,1891,20.67\n4,1891,20.67\n5,1891,20.67\n6,1891,20.67\n7,1891,20.67\n8,1891,20.67\n9,1891,20.67\n10,1891,20.67\n11,1891,20.67\n12,1891,20.67\n1,1892,20.67\n2,1892,20.67\n3,1892,20.67\n4,1892,20.67\n5,1892,20.67\n6,1892,20.67\n7,1892,20.67\n8,1892,20.67\n9,1892,20.67\n10,1892,20.67\n11,1892,20.67\n12,1892,20.67\n1,1893,20.67\n2,1893,20.67\n3,1893,20.67\n4,1893,20.67\n5,1893,20.67\n6,1893,20.67\n7,1893,20.67\n8,1893,20.67\n9,1893,20.67\n10,1893,20.67\n11,1893,20.67\n12,1893,20.67\n1,1894,20.67\n2,1894,20.67\n3,1894,20.67\n4,1894,20.67\n5,1894,20.67\n6,1894,20.67\n7,1894,20.67\n8,1894,20.67\n9,1894,20.67\n10,1894,20.67\n11,1894,20.67\n12,1894,20.67\n1,1895,20.67\n2,1895,20.67\n3,1895,20.67\n4,1895,20.67\n5,1895,20.67\n6,1895,20.67\n7,1895,20.67\n8,1895,20.67\n9,1895,20.67\n10,1895,20.67\n11,1895,20.67\n12,1895,20.67\n1,1896,20.67\n2,1896,20.67\n3,1896,20.67\n4,1896,20.67\n5,1896,20.67\n6,1896,20.67\n7,1896,20.67\n8,1896,20.67\n9,1896,20.67\n10,1896,20.67\n11,1896,20.67\n12,1896,20.67\n1,1897,20.67\n2,1897,20.67\n3,1897,20.67\n4,1897,20.67\n5,1897,20.67\n6,1897,20.67\n7,1897,20.67\n8,1897,20.67\n9,1897,20.67\n10,1897,20.67\n11,1897,20.67\n12,1897,20.67\n1,1898,20.67\n2,1898,20.67\n3,1898,20.67\n4,1898,20.67\n5,1898,20.67\n6,1898,20.67\n7,1898,20.67\n8,1898,20.67\n9,1898,20.67\n10,1898,20.67\n11,1898,20.67\n12,1898,20.67\n1,1899,20.67\n2,1899,20.67\n3,1899,20.67\n4,1899,20.67\n5,1899,20.67\n6,1899,20.67\n7,1899,20.67\n8,1899,20.67\n9,1899,20.67\n10,1899,20.67\n11,1899,20.67\n12,1899,20.67\n1,1900,20.67\n2,1900,20.67\n3,1900,20.67\n4,1900,20.67\n5,1900,20.67\n6,1900,20.67\n7,1900,20.67\n8,1900,20.67\n9,1900,20.67\n10,1900,20.67\n11,1900,20.67\n12,1900,20.67\n1,1901,20.67\n2,1901,20.67\n3,1901,20.67\n4,1901,20.67\n5,1901,20.67\n6,1901,20.67\n7,1901,20.67\n8,1901,20.67\n9,1901,20.67\n10,1901,20.67\n11,1901,20.67\n12,1901,20.67\n1,1902,20.67\n2,1902,20.67\n3,1902,20.67\n4,1902,20.67\n5,1902,20.67\n6,1902,20.67\n7,1902,20.67\n8,1902,20.67\n9,1902,20.67\n10,1902,20.67\n11,1902,20.67\n12,1902,20.67\n1,1903,20.67\n2,1903,20.67\n3,1903,20.67\n4,1903,20.67\n5,1903,20.67\n6,1903,20.67\n7,1903,20.67\n8,1903,20.67\n9,1903,20.67\n10,1903,20.67\n11,1903,20.67\n12,1903,20.67\n1,1904,20.67\n2,1904,20.67\n3,1904,20.67\n4,1904,20.67\n5,1904,20.67\n6,1904,20.67\n7,1904,20.67\n8,1904,20.67\n9,1904,20.67\n10,1904,20.67\n11,1904,20.67\n12,1904,20.67\n1,1905,20.67\n2,1905,20.67\n3,1905,20.67\n4,1905,20.67\n5,1905,20.67\n6,1905,20.67\n7,1905,20.67\n8,1905,20.67\n9,1905,20.67\n10,1905,20.67\n11,1905,20.67\n12,1905,20.67\n1,1906,20.67\n2,1906,20.67\n3,1906,20.67\n4,1906,20.67\n5,1906,20.67\n6,1906,20.67\n7,1906,20.67\n8,1906,20.67\n9,1906,20.67\n10,1906,20.67\n11,1906,20.67\n12,1906,20.67\n1,1907,20.67\n2,1907,20.67\n3,1907,20.67\n4,1907,20.67\n5,1907,20.67\n6,1907,20.67\n7,1907,20.67\n8,1907,20.67\n9,1907,20.67\n10,1907,20.67\n11,1907,20.67\n12,1907,20.67\n1,1908,20.67\n2,1908,20.67\n3,1908,20.67\n4,1908,20.67\n5,1908,20.67\n6,1908,20.67\n7,1908,20.67\n8,1908,20.67\n9,1908,20.67\n10,1908,20.67\n11,1908,20.67\n12,1908,20.67\n1,1909,20.67\n2,1909,20.67\n3,1909,20.67\n4,1909,20.67\n5,1909,20.67\n6,1909,20.67\n7,1909,20.67\n8,1909,20.67\n9,1909,20.67\n10,1909,20.67\n11,1909,20.67\n12,1909,20.67\n1,1910,20.67\n2,1910,20.67\n3,1910,20.67\n4,1910,20.67\n5,1910,20.67\n6,1910,20.67\n7,1910,20.67\n8,1910,20.67\n9,1910,20.67\n10,1910,20.67\n11,1910,20.67\n12,1910,20.67\n1,1911,20.67\n2,1911,20.67\n3,1911,20.67\n4,1911,20.67\n5,1911,20.67\n6,1911,20.67\n7,1911,20.67\n8,1911,20.67\n9,1911,20.67\n10,1911,20.67\n11,1911,20.67\n12,1911,20.67\n1,1912,20.67\n2,1912,20.67\n3,1912,20.67\n4,1912,20.67\n5,1912,20.67\n6,1912,20.67\n7,1912,20.67\n8,1912,20.67\n9,1912,20.67\n10,1912,20.67\n11,1912,20.67\n12,1912,20.67\n1,1913,20.67\n2,1913,20.67\n3,1913,20.67\n4,1913,20.67\n5,1913,20.67\n6,1913,20.67\n7,1913,20.67\n8,1913,20.67\n9,1913,20.67\n10,1913,20.67\n11,1913,20.67\n12,1913,20.67\n1,1914,20.67\n2,1914,20.67\n3,1914,20.67\n4,1914,20.67\n5,1914,20.67\n6,1914,20.67\n7,1914,20.67\n8,1914,20.67\n9,1914,20.67\n10,1914,20.67\n11,1914,20.67\n12,1914,20.67\n1,1915,20.67\n2,1915,20.67\n3,1915,20.67\n4,1915,20.67\n5,1915,20.67\n6,1915,20.67\n7,1915,20.67\n8,1915,20.67\n9,1915,20.67\n10,1915,20.67\n11,1915,20.67\n12,1915,20.67\n1,1916,20.67\n2,1916,20.67\n3,1916,20.67\n4,1916,20.67\n5,1916,20.67\n6,1916,20.67\n7,1916,20.67\n8,1916,20.67\n9,1916,20.67\n10,1916,20.67\n11,1916,20.67\n12,1916,20.67\n1,1917,20.67\n2,1917,20.67\n3,1917,20.67\n4,1917,20.67\n5,1917,20.67\n6,1917,20.67\n7,1917,20.67\n8,1917,20.67\n9,1917,20.67\n10,1917,20.67\n11,1917,20.67\n12,1917,20.67\n1,1918,20.67\n2,1918,20.67\n3,1918,20.67\n4,1918,20.67\n5,1918,20.67\n6,1918,20.67\n7,1918,20.67\n8,1918,20.67\n9,1918,20.67\n10,1918,20.67\n11,1918,20.67\n12,1918,20.67\n1,1919,20.67\n2,1919,20.67\n3,1919,20.67\n4,1919,20.67\n5,1919,20.67\n6,1919,20.67\n7,1919,20.67\n8,1919,20.67\n9,1919,20.67\n10,1919,20.67\n11,1919,20.67\n12,1919,20.67\n1,1920,20.67\n2,1920,20.67\n3,1920,20.67\n4,1920,20.67\n5,1920,20.67\n6,1920,20.67\n7,1920,20.67\n8,1920,20.67\n9,1920,20.67\n10,1920,20.67\n11,1920,20.67\n12,1920,20.67\n1,1921,20.67\n2,1921,20.67\n3,1921,20.67\n4,1921,20.67\n5,1921,20.67\n6,1921,20.67\n7,1921,20.67\n8,1921,20.67\n9,1921,20.67\n10,1921,20.67\n11,1921,20.67\n12,1921,20.67\n1,1922,20.67\n2,1922,20.67\n3,1922,20.67\n4,1922,20.67\n5,1922,20.67\n6,1922,20.67\n7,1922,20.67\n8,1922,20.67\n9,1922,20.67\n10,1922,20.67\n11,1922,20.67\n12,1922,20.67\n1,1923,20.67\n2,1923,20.67\n3,1923,20.67\n4,1923,20.67\n5,1923,20.67\n6,1923,20.67\n7,1923,20.67\n8,1923,20.67\n9,1923,20.67\n10,1923,20.67\n11,1923,20.67\n12,1923,20.67\n1,1924,20.67\n2,1924,20.67\n3,1924,20.67\n4,1924,20.67\n5,1924,20.67\n6,1924,20.67\n7,1924,20.67\n8,1924,20.67\n9,1924,20.67\n10,1924,20.67\n11,1924,20.67\n12,1924,20.67\n1,1925,20.67\n2,1925,20.67\n3,1925,20.67\n4,1925,20.67\n5,1925,20.67\n6,1925,20.67\n7,1925,20.67\n8,1925,20.67\n9,1925,20.67\n10,1925,20.67\n11,1925,20.67\n12,1925,20.67\n1,1926,20.67\n2,1926,20.67\n3,1926,20.67\n4,1926,20.67\n5,1926,20.67\n6,1926,20.67\n7,1926,20.67\n8,1926,20.67\n9,1926,20.67\n10,1926,20.67\n11,1926,20.67\n12,1926,20.67\n1,1927,20.67\n2,1927,20.67\n3,1927,20.67\n4,1927,20.67\n5,1927,20.67\n6,1927,20.67\n7,1927,20.67\n8,1927,20.67\n9,1927,20.67\n10,1927,20.67\n11,1927,20.67\n12,1927,20.67\n1,1928,20.67\n2,1928,20.67\n3,1928,20.67\n4,1928,20.67\n5,1928,20.67\n6,1928,20.67\n7,1928,20.67\n8,1928,20.67\n9,1928,20.67\n10,1928,20.67\n11,1928,20.67\n12,1928,20.67\n1,1929,20.67\n2,1929,20.67\n3,1929,20.67\n4,1929,20.67\n5,1929,20.67\n6,1929,20.67\n7,1929,20.67\n8,1929,20.67\n9,1929,20.67\n10,1929,20.67\n11,1929,20.67\n12,1929,20.67\n1,1930,20.67\n2,1930,20.67\n3,1930,20.67\n4,1930,20.67\n5,1930,20.67\n6,1930,20.67\n7,1930,20.67\n8,1930,20.67\n9,1930,20.67\n10,1930,20.67\n11,1930,20.67\n12,1930,20.67\n1,1931,20.67\n2,1931,20.67\n3,1931,20.67\n4,1931,20.67\n5,1931,20.67\n6,1931,20.67\n7,1931,20.67\n8,1931,20.67\n9,1931,20.67\n10,1931,20.67\n11,1931,20.67\n12,1931,20.67\n1,1932,20.67\n2,1932,20.67\n3,1932,20.67\n4,1932,20.67\n5,1932,20.67\n6,1932,20.67\n7,1932,20.67\n8,1932,20.67\n9,1932,20.67\n10,1932,20.67\n11,1932,20.67\n12,1932,20.67\n1,1933,32.32\n2,1933,32.32\n3,1933,32.32\n4,1933,32.32\n5,1933,32.32\n6,1933,32.32\n7,1933,32.32\n8,1933,32.32\n9,1933,32.32\n10,1933,32.32\n11,1933,32.32\n12,1933,32.32\n1,1934,35.00\n2,1934,35.00\n3,1934,35.00\n4,1934,35.00\n5,1934,35.00\n6,1934,35.00\n7,1934,35.00\n8,1934,35.00\n9,1934,35.00\n10,1934,35.00\n11,1934,35.00\n12,1934,35.00\n1,1935,35.00\n2,1935,35.00\n3,1935,35.00\n4,1935,35.00\n5,1935,35.00\n6,1935,35.00\n7,1935,35.00\n8,1935,35.00\n9,1935,35.00\n10,1935,35.00\n11,1935,35.00\n12,1935,35.00\n1,1936,35.00\n2,1936,35.00\n3,1936,35.00\n4,1936,35.00\n5,1936,35.00\n6,1936,35.00\n7,1936,35.00\n8,1936,35.00\n9,1936,35.00\n10,1936,35.00\n11,1936,35.00\n12,1936,35.00\n1,1937,35.00\n2,1937,35.00\n3,1937,35.00\n4,1937,35.00\n5,1937,35.00\n6,1937,35.00\n7,1937,35.00\n8,1937,35.00\n9,1937,35.00\n10,1937,35.00\n11,1937,35.00\n12,1937,35.00\n1,1938,35.00\n2,1938,35.00\n3,1938,35.00\n4,1938,35.00\n5,1938,35.00\n6,1938,35.00\n7,1938,35.00\n8,1938,35.00\n9,1938,35.00\n10,1938,35.00\n11,1938,35.00\n12,1938,35.00\n1,1939,35.00\n2,1939,35.00\n3,1939,35.00\n4,1939,35.00\n5,1939,35.00\n6,1939,35.00\n7,1939,35.00\n8,1939,35.00\n9,1939,35.00\n10,1939,35.00\n11,1939,35.00\n12,1939,35.00\n1,1940,34.50\n2,1940,34.50\n3,1940,34.50\n4,1940,34.50\n5,1940,34.50\n6,1940,34.50\n7,1940,34.50\n8,1940,34.50\n9,1940,34.50\n10,1940,34.50\n11,1940,34.50\n12,1940,34.50\n1,1941,35.50\n2,1941,35.50\n3,1941,35.50\n4,1941,35.50\n5,1941,35.50\n6,1941,35.50\n7,1941,35.50\n8,1941,35.50\n9,1941,35.50\n10,1941,35.50\n11,1941,35.50\n12,1941,35.50\n1,1942,35.50\n2,1942,35.50\n3,1942,35.50\n4,1942,35.50\n5,1942,35.50\n6,1942,35.50\n7,1942,35.50\n8,1942,35.50\n9,1942,35.50\n10,1942,35.50\n11,1942,35.50\n12,1942,35.50\n1,1943,36.50\n2,1943,36.50\n3,1943,36.50\n4,1943,36.50\n5,1943,36.50\n6,1943,36.50\n7,1943,36.50\n8,1943,36.50\n9,1943,36.50\n10,1943,36.50\n11,1943,36.50\n12,1943,36.50\n1,1944,36.25\n2,1944,36.25\n3,1944,36.25\n4,1944,36.25\n5,1944,36.25\n6,1944,36.25\n7,1944,36.25\n8,1944,36.25\n9,1944,36.25\n10,1944,36.25\n11,1944,36.25\n12,1944,36.25\n1,1945,37.25\n2,1945,37.25\n3,1945,37.25\n4,1945,37.25\n5,1945,37.25\n6,1945,37.25\n7,1945,37.25\n8,1945,37.25\n9,1945,37.25\n10,1945,37.25\n11,1945,37.25\n12,1945,37.25\n1,1946,38.25\n2,1946,38.25\n3,1946,38.25\n4,1946,38.25\n5,1946,38.25\n6,1946,38.25\n7,1946,38.25\n8,1946,38.25\n9,1946,38.25\n10,1946,38.25\n11,1946,38.25\n12,1946,38.25\n1,1947,43.00\n2,1947,43.00\n3,1947,43.00\n4,1947,43.00\n5,1947,43.00\n6,1947,43.00\n7,1947,43.00\n8,1947,43.00\n9,1947,43.00\n10,1947,43.00\n11,1947,43.00\n12,1947,43.00\n1,1948,42.00\n2,1948,42.00\n3,1948,42.00\n4,1948,42.00\n5,1948,42.00\n6,1948,42.00\n7,1948,42.00\n8,1948,42.00\n9,1948,42.00\n10,1948,42.00\n11,1948,42.00\n12,1948,42.00\n1,1949,40.50\n2,1949,40.50\n3,1949,40.50\n4,1949,40.50\n5,1949,40.50\n6,1949,40.50\n7,1949,40.50\n8,1949,40.50\n9,1949,40.50\n10,1949,40.50\n11,1949,40.50\n12,1949,40.50\n1,1950,40.25\n2,1950,40.25\n3,1950,40.25\n4,1950,40.25\n5,1950,40.25\n6,1950,40.25\n7,1950,40.25\n8,1950,40.25\n9,1950,40.25\n10,1950,40.25\n11,1950,40.25\n12,1950,40.25\n1,1951,40.00\n2,1951,40.00\n3,1951,40.00\n4,1951,40.00\n5,1951,40.00\n6,1951,40.00\n7,1951,40.00\n8,1951,40.00\n9,1951,40.00\n10,1951,40.00\n11,1951,40.00\n12,1951,40.00\n1,1952,38.70\n2,1952,38.70\n3,1952,38.70\n4,1952,38.70\n5,1952,38.70\n6,1952,38.70\n7,1952,38.70\n8,1952,38.70\n9,1952,38.70\n10,1952,38.70\n11,1952,38.70\n12,1952,38.70\n1,1953,35.50\n2,1953,35.50\n3,1953,35.50\n4,1953,35.50\n5,1953,35.50\n6,1953,35.50\n7,1953,35.50\n8,1953,35.50\n9,1953,35.50\n10,1953,35.50\n11,1953,35.50\n12,1953,35.50\n1,1954,35.25\n2,1954,35.25\n3,1954,35.25\n4,1954,35.25\n5,1954,35.25\n6,1954,35.25\n7,1954,35.25\n8,1954,35.25\n9,1954,35.25\n10,1954,35.25\n11,1954,35.25\n12,1954,35.25\n1,1955,35.15\n2,1955,35.15\n3,1955,35.15\n4,1955,35.15\n5,1955,35.15\n6,1955,35.15\n7,1955,35.15\n8,1955,35.15\n9,1955,35.15\n10,1955,35.15\n11,1955,35.15\n12,1955,35.15\n1,1956,35.20\n2,1956,35.20\n3,1956,35.20\n4,1956,35.20\n5,1956,35.20\n6,1956,35.20\n7,1956,35.20\n8,1956,35.20\n9,1956,35.20\n10,1956,35.20\n11,1956,35.20\n12,1956,35.20\n1,1957,35.25\n2,1957,35.25\n3,1957,35.25\n4,1957,35.25\n5,1957,35.25\n6,1957,35.25\n7,1957,35.25\n8,1957,35.25\n9,1957,35.25\n10,1957,35.25\n11,1957,35.25\n12,1957,35.25\n1,1958,35.25\n2,1958,35.25\n3,1958,35.25\n4,1958,35.25\n5,1958,35.25\n6,1958,35.25\n7,1958,35.25\n8,1958,35.25\n9,1958,35.25\n10,1958,35.25\n11,1958,35.25\n12,1958,35.25\n1,1959,35.25\n2,1959,35.25\n3,1959,35.25\n4,1959,35.25\n5,1959,35.25\n6,1959,35.25\n7,1959,35.25\n8,1959,35.25\n9,1959,35.25\n10,1959,35.25\n11,1959,35.25\n12,1959,35.25\n1,1960,36.50\n2,1960,36.50\n3,1960,36.50\n4,1960,36.50\n5,1960,36.50\n6,1960,36.50\n7,1960,36.50\n8,1960,36.50\n9,1960,36.50\n10,1960,36.50\n11,1960,36.50\n12,1960,36.50\n1,1961,35.50\n2,1961,35.50\n3,1961,35.50\n4,1961,35.50\n5,1961,35.50\n6,1961,35.50\n7,1961,35.50\n8,1961,35.50\n9,1961,35.50\n10,1961,35.50\n11,1961,35.50\n12,1961,35.50\n1,1962,35.35\n2,1962,35.35\n3,1962,35.35\n4,1962,35.35\n5,1962,35.35\n6,1962,35.35\n7,1962,35.35\n8,1962,35.35\n9,1962,35.35\n10,1962,35.35\n11,1962,35.35\n12,1962,35.35\n1,1963,35.25\n2,1963,35.25\n3,1963,35.25\n4,1963,35.25\n5,1963,35.25\n6,1963,35.25\n7,1963,35.25\n8,1963,35.25\n9,1963,35.25\n10,1963,35.25\n11,1963,35.25\n12,1963,35.25\n1,1964,35.35\n2,1964,35.35\n3,1964,35.35\n4,1964,35.35\n5,1964,35.35\n6,1964,35.35\n7,1964,35.35\n8,1964,35.35\n9,1964,35.35\n10,1964,35.35\n11,1964,35.35\n12,1964,35.35\n1,1965,35.50\n2,1965,35.50\n3,1965,35.50\n4,1965,35.50\n5,1965,35.50\n6,1965,35.50\n7,1965,35.50\n8,1965,35.50\n9,1965,35.50\n10,1965,35.50\n11,1965,35.50\n12,1965,35.50\n1,1966,35.40\n2,1966,35.40\n3,1966,35.40\n4,1966,35.40\n5,1966,35.40\n6,1966,35.40\n7,1966,35.40\n8,1966,35.40\n9,1966,35.40\n10,1966,35.40\n11,1966,35.40\n12,1966,35.40\n1,1967,35.50\n2,1967,35.50\n3,1967,35.50\n4,1967,35.50\n5,1967,35.50\n6,1967,35.50\n7,1967,35.50\n8,1967,35.50\n9,1967,35.50\n10,1967,35.50\n11,1967,35.50\n12,1967,35.50\n1,1968,35.20\n2,1968,35.20\n3,1968,35.20\n4,1968,39.10\n5,1968,42.00\n6,1968,40.95\n7,1968,38.90\n8,1968,39.85\n9,1968,39.70\n10,1968,39.20\n11,1968,39.85\n12,1968,41.95\n1,1969,42.55\n2,1969,42.77\n3,1969,43.10\n4,1969,43.60\n5,1969,43.15\n6,1969,41.23\n7,1969,41.45\n8,1969,40.95\n9,1969,40.65\n10,1969,39.85\n11,1969,35.55\n12,1969,35.21\n1,1970,34.98\n2,1970,35.00\n3,1970,35.30\n4,1970,35.85\n5,1970,35.50\n6,1970,35.51\n7,1970,35.29\n8,1970,35.77\n9,1970,36.24\n10,1970,37.40\n11,1970,37.60\n12,1970,37.38\n1,1971,38.00\n2,1971,38.79\n3,1971,38.80\n4,1971,39.60\n5,1971,40.80\n6,1971,40.20\n7,1971,42.48\n8,1971,41.00\n9,1971,42.48\n10,1971,42.40\n11,1971,43.55\n12,1971,43.62\n1,1972,46.95\n2,1972,48.40\n3,1972,48.38\n4,1972,49.50\n5,1972,59.30\n6,1972,64.10\n7,1972,68.90\n8,1972,66.80\n9,1972,64.10\n10,1972,64.42\n11,1972,63.60\n12,1972,64.70\n1,1973,66.00\n2,1973,85.30\n3,1973,90.25\n4,1973,90.70\n5,1973,114.50\n6,1973,123.50\n7,1973,115.20\n8,1973,104.00\n9,1973,100.25\n10,1973,97.25\n11,1973,100.25\n12,1973,112.25\n1,1974,133.25\n2,1974,169.50\n3,1974,173.00\n4,1974,168.50\n5,1974,156.50\n6,1974,146.75\n7,1974,154.00\n8,1974,155.25\n9,1974,147.50\n10,1974,166.40\n11,1974,182.00\n12,1974,187.50\n1,1975,176.25\n2,1975,181.75\n3,1975,177.75\n4,1975,167.40\n5,1975,167.75\n6,1975,166.00\n7,1975,166.40\n8,1975,161.50\n9,1975,138.25\n10,1975,143.40\n11,1975,138.25\n12,1975,140.25\n1,1976,128.00\n2,1976,132.30\n3,1976,129.50\n4,1976,128.15\n5,1976,125.25\n6,1976,123.80\n7,1976,112.40\n8,1976,103.05\n9,1976,116.10\n10,1976,122.30\n11,1976,130.10\n12,1976,134.55\n1,1977,132.10\n2,1977,142.25\n3,1977,149.80\n4,1977,146.50\n5,1977,143.20\n6,1977,142.95\n7,1977,144.50\n8,1977,146.00\n9,1977,153.90\n10,1977,160.80\n11,1977,159.80\n12,1977,165.60\n1,1978,175.20\n2,1978,182.00\n3,1978,180.75\n4,1978,170.00\n5,1978,184.90\n6,1978,183.20\n7,1978,198.90\n8,1978,207.30\n9,1978,217.45\n10,1978,243.65\n11,1978,193.70\n12,1978,224.50\n1,1979,233.05\n2,1979,250.90\n3,1979,239.65\n4,1979,243.45\n5,1979,277.15\n6,1979,276.45\n7,1979,295.35\n8,1979,317.75\n9,1979,397.00\n10,1979,379.75\n11,1979,417.20\n12,1979,524.00\n1,1980,668.00\n2,1980,640.00\n3,1980,503.25\n4,1980,519.25\n5,1980,531.40\n6,1980,662.50\n7,1980,618.00\n8,1980,633.75\n9,1980,670.00\n10,1980,636.00\n11,1980,621.50\n12,1980,589.50\n1,1981,507.50\n2,1981,490.25\n3,1981,514.25\n4,1981,481.00\n5,1981,478.75\n6,1981,421.50\n7,1981,405.25\n8,1981,425.50\n9,1981,426.50\n10,1981,429.00\n11,1981,415.50\n12,1981,400.00\n1,1982,388.25\n2,1982,363.25\n3,1982,320.50\n4,1982,356.75\n5,1982,325.50\n6,1982,314.00\n7,1982,342.50\n8,1982,409.60\n9,1982,394.75\n10,1982,422.00\n11,1982,428.25\n12,1982,448.00\n1,1983,503.00\n2,1983,419.75\n3,1983,414.25\n4,1983,428.50\n5,1983,439.00\n6,1983,416.75\n7,1983,422.25\n8,1983,414.50\n9,1983,404.00\n10,1983,383.50\n11,1983,405.75\n12,1983,381.50\n1,1984,371.90\n2,1984,396.60\n3,1984,388.50\n4,1984,376.20\n5,1984,383.45\n6,1984,375.25\n7,1984,341.60\n8,1984,347.70\n9,1984,344.15\n10,1984,334.50\n11,1984,328.60\n12,1984,309.00\n1,1985,304.90\n2,1985,290.50\n3,1985,329.80\n4,1985,324.65\n5,1985,313.15\n6,1985,316.50\n7,1985,328.10\n8,1985,335.75\n9,1985,326.50\n10,1985,325.75\n11,1985,327.40\n12,1985,327.00\n1,1986,354.00\n2,1986,338.25\n3,1986,345.50\n4,1986,344.75\n5,1986,343.35\n6,1986,345.50\n7,1986,357.75\n8,1986,386.00\n9,1986,421.20\n10,1986,401.50\n11,1986,390.00\n12,1986,390.90\n1,1987,407.30\n2,1987,405.75\n3,1987,419.00\n4,1987,454.50\n5,1987,451.75\n6,1987,447.10\n7,1987,464.25\n8,1987,455.90\n9,1987,459.15\n10,1987,468.00\n11,1987,493.90\n12,1987,486.50\n1,1988,465.25\n2,1988,423.75\n3,1988,458.00\n4,1988,449.75\n5,1988,454.00\n6,1988,436.85\n7,1988,432.70\n8,1988,426.35\n9,1988,396.15\n10,1988,412.30\n11,1988,421.30\n12,1988,410.15\n1,1989,394.85\n2,1989,386.75\n3,1989,382.30\n4,1989,381.30\n5,1989,363.50\n6,1989,371.15\n7,1989,369.10\n8,1989,359.60\n9,1989,369.00\n10,1989,376.05\n11,1989,406.80\n12,1989,401.00\n1,1990,417.55\n2,1990,409.10\n3,1990,372.20\n4,1990,371.55\n5,1990,363.70\n6,1990,352.40\n7,1990,371.10\n8,1990,388.10\n9,1990,406.10\n10,1990,379.25\n11,1990,384.80\n12,1990,391.00\n1,1991,369.60\n2,1991,363.00\n3,1991,354.00\n4,1991,353.45\n5,1991,361.55\n6,1991,366.90\n7,1991,363.60\n8,1991,347.00\n9,1991,350.50\n10,1991,357.40\n11,1991,366.85\n12,1991,353.40\n1,1992,354.15\n2,1992,353.05\n3,1992,341.50\n4,1992,336.25\n5,1992,337.55\n6,1992,343.40\n7,1992,357.95\n8,1992,340.50\n9,1992,349.00\n10,1992,338.80\n11,1992,333.70\n12,1992,332.90\n1,1993,330.75\n2,1993,328.75\n3,1993,336.90\n4,1993,353.45\n5,1993,381.00\n6,1993,379.00\n7,1993,403.70\n8,1993,370.60\n9,1993,352.65\n10,1993,369.10\n11,1993,370.80\n12,1993,390.65\n1,1994,378.20\n2,1994,380.75\n3,1994,389.70\n4,1994,376.45\n5,1994,386.25\n6,1994,385.40\n7,1994,384.05\n8,1994,386.25\n9,1994,395.35\n10,1994,387.40\n11,1994,383.35\n12,1994,382.50\n1,1995,375.85\n2,1995,375.70\n3,1995,386.55\n4,1995,389.50\n5,1995,384.25\n6,1995,387.60\n7,1995,383.35\n8,1995,381.65\n9,1995,383.75\n10,1995,382.40\n11,1995,387.85\n12,1995,386.70\n1,1996,403.20\n2,1996,400.35\n3,1996,396.70\n4,1996,390.15\n5,1996,390.55\n6,1996,381.30\n7,1996,385.50\n8,1996,387.25\n9,1996,379.30\n10,1996,379.30\n11,1996,371.90\n12,1996,369.55\n1,1997,345.00\n2,1997,360.60\n3,1997,349.50\n4,1997,340.45\n5,1997,345.75\n6,1997,334.05\n7,1997,326.00\n8,1997,325.40\n9,1997,328.75\n10,1997,310.40\n11,1997,296.90\n12,1997,289.20\n1,1998,301.80\n2,1998,296.55\n3,1998,299.90\n4,1998,310.70\n5,1998,292.40\n6,1998,295.75\n7,1998,289.40\n8,1998,273.40\n9,1998,294.10\n10,1998,293.10\n11,1998,295.75\n12,1998,287.45\n1,1999,285.65\n2,1999,286.80\n3,1999,279.80\n4,1999,285.85\n5,1999,271.05\n6,1999,261.20\n7,1999,256.75\n8,1999,254.60\n9,1999,303.75\n10,1999,298.85\n11,1999,292.00\n12,1999,290.85\n1,2000,283.05\n2,2000,294.00\n3,2000,275.90\n4,2000,275.85\n5,2000,272.25\n6,2000,289.15\n7,2000,277.40\n8,2000,274.95\n9,2000,274.10\n10,2000,263.80\n11,2000,267.00\n12,2000,272.65\n1,2001,266.20\n2,2001,265.00\n3,2001,259.05\n4,2001,263.45\n5,2001,266.10\n6,2001,269.90\n7,2001,265.55\n8,2001,275.35\n9,2001,290.85\n10,2001,280.95\n11,2001,274.70\n12,2001,276.50\n1,2002,281.50\n2,2002,296.55\n3,2002,303.00\n4,2002,309.35\n5,2002,327.25\n6,2002,319.05\n7,2002,305.50\n8,2002,312.40\n9,2002,322.40\n10,2002,316.35\n11,2002,318.25\n12,2002,342.75\n1,2003,370.35\n2,2003,347.65\n3,2003,335.35\n4,2003,336.00\n5,2003,365.80\n6,2003,345.15\n7,2003,355.75\n8,2003,371.00\n9,2003,384.50\n10,2003,384.60\n11,2003,398.10\n12,2003,417.25\n1,2004,401.30\n2,2004,392.25\n3,2004,423.00\n4,2004,387.30\n5,2004,393.85\n6,2004,393.75\n7,2004,389.60\n8,2004,408.10\n9,2004,412.35\n10,2004,426.20\n11,2004,452.00\n12,2004,438.00\n1,2005,423.80\n2,2005,436.55\n3,2005,427.50\n4,2005,433.20\n5,2005,416.90\n6,2005,436.80\n7,2005,427.15\n8,2005,433.00\n9,2005,473.40\n10,2005,472.65\n11,2005,493.80\n12,2005,513.00\n1,2006,569.80\n2,2006,556.50\n3,2006,584.00\n4,2006,638.25\n5,2006,654.00\n6,2006,600.40\n7,2006,637.00\n8,2006,621.75\n9,2006,601.75\n10,2006,600.90\n11,2006,638.40\n12,2006,635.70\n1,2007,645.75\n2,2007,677.00\n3,2007,663.50\n4,2007,678.00\n5,2007,656.60\n6,2007,648.50\n7,2007,666.75\n8,2007,668.00\n9,2007,737.75\n10,2007,783.00\n11,2007,794.75\n12,2007,836.50\n1,2008,923.75\n2,2008,969.00\n3,2008,937.25\n4,2008,867.75\n5,2008,879.50\n6,2008,932.75\n7,2008,912.00\n8,2008,836.50\n9,2008,897.00\n10,2008,728.50\n11,2008,813.50\n12,2008,865.00\n1,2009,918.50\n2,2009,943.75\n3,2009,918.50\n4,2009,889.00\n5,2009,972.00\n6,2009,941.00\n7,2009,936.50\n8,2009,950.75\n9,2009,1001.25\n10,2009,1044.50\n11,2009,1172.00\n12,2009,1104.00\n1,2010,1082.75\n2,2010,1112.50\n3,2010,1109.50\n4,2010,1175.25\n5,2010,1214.00\n6,2010,1240.50\n7,2010,1168.00\n8,2010,1233.50\n9,2010,1311.00\n10,2010,1336.75\n11,2010,1375.00\n12,2010,1410.25\n1,2011,1333.50\n2,2011,1409.75\n3,2011,1431.00\n4,2011,1531.00\n5,2011,1537.00\n6,2011,1508.00\n7,2011,1613.75\n8,2011,1826.00\n9,2011,1629.00\n10,2011,1718.00\n11,2011,1704.00\n12,2011,1574.50\n1,2012,1738.00\n2,2012,1788.00\n3,2012,1660.75\n4,2012,1662.50\n5,2012,1567.50\n6,2012,1569.50\n7,2012,1622.75\n8,2012,1657.75\n9,2012,1781.00\n10,2012,1718.00\n11,2012,1728.25\n12,2012,1664.00\n1,2013,1674.50\n2,2013,1591.00\n3,2013,1602.50\n4,2013,1472.75\n5,2013,1410.25\n6,2013,1203.25\n7,2013,1331.50\n8,2013,1392.75\n9,2013,1335.75\n10,2013,1333.75\n11,2013,1245.25\n12,2013,1201.50\n1,2014,1246.50\n2,2014,1327.75\n3,2014,1294.00\n4,2014,1292.00\n5,2014,1254.00\n6,2014,1313.00\n7,2014,1295.00\n8,2014,1285.75\n9,2014,1210.00\n10,2014,1173.25\n11,2014,1184.50\n12,2014,1199.25\n1,2015,1263.50\n2,2015,1205.00\n3,2015,1179.25\n4,2015,1204.30\n5,2015,1190.40\n6,2015,1175.00\n7,2015,1080.05\n8,2015,1125.50\n9,2015,1122.50\n10,2015,1147.75\n11,2015,1055.65\n12,2015,1062.25\n1,2016,1112.90\n2,2016,1234.15\n3,2016,1233.60\n4,2016,1274.50\n5,2016,1210.50\n6,2016,1317.00\n7,2016,1332.50\n8,2016,1314.45\n9,2016,1327.90\n10,2016,1274.20\n11,2016,1187.40\n12,2016,1159.10\n1,2017,1198.80\n2,2017,1251.90\n3,2017,1241.70\n4,2017,1265.55\n5,2017,1263.80\n6,2017,1243.25\n7,2017,1266.35\n8,2017,1305.80\n9,2017,1286.95\n10,2017,1274.40\n11,2017,1282.15\n12,2017,1296.50\n1,2018,1343.35\n2,2018,1320.30\n3,2018,1323.90\n4,2018,1316.25\n5,2018,1303.50\n6,2018,1250.55\n7,2018,1219.20\n8,2018,1206.85\n9,2018,1183.50\n10,2018,1217.70\n11,2018,1220.45\n12,2018,1281.65\n1,2019,1322.50\n2,2019,1325.45\n3,2019,1291.15\n4,2019,1285.15\n5,2019,1296.00\n6,2019,1413.20\n7,2019,1430.55\n8,2019,1526.55\n9,2019,1487.60\n10,2019,1506.40\n11,2019,1456.35\n12,2019,1523.00\n1,2020,1580.85\n2,2020,1626.35\n3,2020,1604.65\n4,2020,1716.75\n5,2020,1725.65\n6,2020,1770.70\n7,2020,1974.70\n8,2020,1955.85\n9,2020,1883.40\n10,2020,1875.80\n11,2020,1771.95\n12,2020,1891.10\n1,2021,1852.70\n2,2021,1765.10\n3,2021,1685.35\n4,2021,1768.80\n5,2021,1892.45\n6,2021,1757.80\n7,2021,1828.25\n8,2021,1814.30\n9,2021,1730.95\n10,2021,1796.30\n11,2021,1797.60\n12,2021,1820.10\n1,2022,1790.60\n2,2022,1903.30\n3,2022,1924.10\n4,2022,1915.45\n5,2022,1854.40\n6,2022,1813.60\n7,2022,1758.90\n8,2022,1712.40\n9,2022,1672.75\n10,2022,1638.85\n11,2022,1759.65\n12,2022,1812.35\n1,2023,1905.20\n2,2023,1810.20\n3,2023,1978.80\n4,2023,1982.70\n5,2023,1959.00\n6,2023,1903.55\n7,2023,1955.55\n8,2023,1944.20\n9,2023,1871.60\n10,2023,1997.60\n11,2023,2037.85\n12,2023,2062.40\n1,2024,2037.90\n2,2024,2032.80\n3,2024,2207.00\n4,2024,2314.80\n5,2024,2342.90\n6,2024,2327.60\n7,2024,2426.30\n8,2024,2524.15\n9,2024,2650.15\n10,2024,2779.40\n11,2024,2664.30\n12,2024,2610.85\n1,2025,2791.50\n2,2025,2861.40\n3,2025,3120.20\n4,2025,3284.30\n5,2025,3293.55\n6,2025,3277.25\n7,2025,3306.80\n8,2025,3407.50\n9,2025,3806.55\n10,2025,4013.20\n11,2025,4159.40\n12,2025,4307.95\n`,
        'commodities': `1,1871,22.59\n2,1871,22.59\n3,1871,22.59\n4,1871,22.59\n5,1871,22.59\n6,1871,22.59\n7,1871,22.59\n8,1871,22.59\n9,1871,22.59\n10,1871,22.59\n11,1871,22.59\n12,1871,22.59\n1,1872,23.19\n2,1872,23.19\n3,1872,23.19\n4,1872,23.19\n5,1872,23.19\n6,1872,23.19\n7,1872,23.19\n8,1872,23.19\n9,1872,23.19\n10,1872,23.19\n11,1872,23.19\n12,1872,23.19\n1,1873,22.74\n2,1873,22.74\n3,1873,22.74\n4,1873,22.74\n5,1873,22.74\n6,1873,22.74\n7,1873,22.74\n8,1873,22.74\n9,1873,22.74\n10,1873,22.74\n11,1873,22.74\n12,1873,22.74\n1,1874,23.09\n2,1874,23.09\n3,1874,23.09\n4,1874,23.09\n5,1874,23.09\n6,1874,23.09\n7,1874,23.09\n8,1874,23.09\n9,1874,23.09\n10,1874,23.09\n11,1874,23.09\n12,1874,23.09\n1,1875,23.54\n2,1875,23.54\n3,1875,23.54\n4,1875,23.54\n5,1875,23.54\n6,1875,23.54\n7,1875,23.54\n8,1875,23.54\n9,1875,23.54\n10,1875,23.54\n11,1875,23.54\n12,1875,23.54\n1,1876,22.30\n2,1876,22.30\n3,1876,22.30\n4,1876,22.30\n5,1876,22.30\n6,1876,22.30\n7,1876,22.30\n8,1876,22.30\n9,1876,22.30\n10,1876,22.30\n11,1876,22.30\n12,1876,22.30\n1,1877,21.25\n2,1877,19.58\n3,1877,18.83\n4,1877,22.97\n5,1877,19.61\n6,1877,18.53\n7,1877,17.86\n8,1877,16.31\n9,1877,17.13\n10,1877,17.34\n11,1877,16.96\n12,1877,17.06\n1,1878,16.12\n2,1878,16.29\n3,1878,16.05\n4,1878,15.23\n5,1878,13.67\n6,1878,13.97\n7,1878,14.85\n8,1878,14.42\n9,1878,12.93\n10,1878,12.03\n11,1878,11.89\n12,1878,11.25\n1,1879,12.59\n2,1879,13.56\n3,1879,12.93\n4,1879,12.24\n5,1879,12.98\n6,1879,13.03\n7,1879,11.75\n8,1879,11.19\n9,1879,12.97\n10,1879,14.66\n11,1879,15.54\n12,1879,16.42\n1,1880,15.22\n2,1880,15.00\n3,1880,13.55\n4,1880,13.19\n5,1880,12.79\n6,1880,12.74\n7,1880,14.07\n8,1880,15.28\n9,1880,15.80\n10,1880,15.80\n11,1880,17.10\n12,1880,15.76\n1,1881,16.31\n2,1881,16.48\n3,1881,16.93\n4,1881,17.56\n5,1881,17.47\n6,1881,18.27\n7,1881,19.68\n8,1881,22.09\n9,1881,24.78\n10,1881,22.63\n11,1881,21.89\n12,1881,21.99\n1,1882,22.04\n2,1882,21.05\n3,1882,21.94\n4,1882,22.71\n5,1882,22.73\n6,1882,24.82\n7,1882,23.70\n8,1882,24.51\n9,1882,22.76\n10,1882,23.07\n11,1882,22.12\n12,1882,22.04\n1,1883,23.53\n2,1883,24.80\n3,1883,24.40\n4,1883,24.43\n5,1883,24.08\n6,1883,20.37\n7,1883,19.09\n8,1883,18.38\n9,1883,17.80\n10,1883,17.18\n11,1883,19.78\n12,1883,20.29\n1,1884,20.44\n2,1884,20.78\n3,1884,19.89\n4,1884,19.21\n5,1884,19.69\n6,1884,18.50\n7,1884,18.69\n8,1884,18.13\n9,1884,18.32\n10,1884,17.58\n11,1884,16.90\n12,1884,16.94\n1,1885,17.70\n2,1885,17.67\n3,1885,17.49\n4,1885,18.93\n5,1885,16.97\n6,1885,17.11\n7,1885,16.71\n8,1885,15.70\n9,1885,15.43\n10,1885,15.29\n11,1885,16.31\n12,1885,16.27\n1,1886,16.47\n2,1886,16.38\n3,1886,15.56\n4,1886,15.23\n5,1886,14.46\n6,1886,15.45\n7,1886,16.61\n8,1886,16.30\n9,1886,15.10\n10,1886,14.64\n11,1886,15.18\n12,1886,16.13\n1,1887,15.75\n2,1887,17.37\n3,1887,18.38\n4,1887,18.10\n5,1887,17.17\n6,1887,16.79\n7,1887,16.71\n8,1887,16.77\n9,1887,16.93\n10,1887,16.68\n11,1887,19.00\n12,1887,20.08\n1,1888,19.05\n2,1888,18.69\n3,1888,18.42\n4,1888,19.11\n5,1888,19.73\n6,1888,18.77\n7,1888,19.40\n8,1888,19.76\n9,1888,20.10\n10,1888,21.50\n11,1888,20.91\n12,1888,20.19\n1,1889,18.81\n2,1889,18.57\n3,1889,19.05\n4,1889,17.60\n5,1889,17.32\n6,1889,17.53\n7,1889,16.65\n8,1889,15.81\n9,1889,15.85\n10,1889,15.84\n11,1889,15.95\n12,1889,15.73\n1,1890,15.77\n2,1890,15.56\n3,1890,16.22\n4,1890,17.80\n5,1890,18.36\n6,1890,17.84\n7,1890,20.11\n8,1890,20.67\n9,1890,20.38\n10,1890,21.66\n11,1890,20.83\n12,1890,20.08\n1,1891,19.23\n2,1891,19.32\n3,1891,23.20\n4,1891,22.92\n5,1891,20.64\n6,1891,19.33\n7,1891,20.63\n8,1891,20.97\n9,1891,20.12\n10,1891,18.77\n11,1891,18.81\n12,1891,18.43\n1,1892,18.90\n2,1892,18.63\n3,1892,17.14\n4,1892,17.18\n5,1892,19.06\n6,1892,20.12\n7,1892,20.31\n8,1892,20.36\n9,1892,19.82\n10,1892,19.85\n11,1892,21.91\n12,1892,22.67\n1,1893,25.03\n2,1893,24.41\n3,1893,23.32\n4,1893,24.40\n5,1893,24.07\n6,1893,23.24\n7,1893,20.95\n8,1893,20.52\n9,1893,22.23\n10,1893,22.49\n11,1893,20.98\n12,1893,20.66\n1,1894,20.67\n2,1894,19.80\n3,1894,19.83\n4,1894,20.69\n5,1894,20.24\n6,1894,21.16\n7,1894,21.39\n8,1894,24.49\n9,1894,22.89\n10,1894,21.98\n11,1894,22.22\n12,1894,21.61\n1,1895,19.39\n2,1895,19.75\n3,1895,21.70\n4,1895,21.82\n5,1895,23.45\n6,1895,21.92\n7,1895,19.69\n8,1895,17.88\n9,1895,17.57\n10,1895,16.72\n11,1895,16.26\n12,1895,15.83\n1,1896,17.81\n2,1896,17.27\n3,1896,16.02\n4,1896,15.25\n5,1896,13.91\n6,1896,12.98\n7,1896,12.22\n8,1896,11.61\n9,1896,12.31\n10,1896,13.60\n11,1896,13.85\n12,1896,12.97\n1,1897,12.55\n2,1897,12.65\n3,1897,13.13\n4,1897,13.09\n5,1897,12.21\n6,1897,12.63\n7,1897,13.37\n8,1897,15.28\n9,1897,14.45\n10,1897,13.89\n11,1897,13.52\n12,1897,14.41\n1,1898,14.83\n2,1898,15.79\n3,1898,15.29\n4,1898,17.18\n5,1898,17.72\n6,1898,15.78\n7,1898,15.63\n8,1898,14.87\n9,1898,14.57\n10,1898,15.26\n11,1898,15.53\n12,1898,16.99\n1,1899,17.09\n2,1899,16.26\n3,1899,16.06\n4,1899,15.56\n5,1899,15.00\n6,1899,15.39\n7,1899,14.81\n8,1899,14.86\n9,1899,15.71\n10,1899,15.49\n11,1899,15.19\n12,1899,15.86\n1,1900,15.93\n2,1900,16.07\n3,1900,17.84\n4,1900,18.47\n5,1900,17.37\n6,1900,19.52\n7,1900,18.20\n8,1900,18.03\n9,1900,18.54\n10,1900,17.99\n11,1900,18.32\n12,1900,18.95\n1,1901,19.90\n2,1901,20.27\n3,1901,21.54\n4,1901,21.64\n5,1901,22.19\n6,1901,22.26\n7,1901,24.15\n8,1901,24.74\n9,1901,25.39\n10,1901,24.83\n11,1901,26.86\n12,1901,28.17\n1,1902,26.74\n2,1902,26.49\n3,1902,26.66\n4,1902,27.70\n5,1902,27.72\n6,1902,29.69\n7,1902,28.03\n8,1902,27.07\n9,1902,28.29\n10,1902,30.22\n11,1902,30.80\n12,1902,32.02\n1,1903,33.26\n2,1903,34.43\n3,1903,33.85\n4,1903,34.18\n5,1903,34.53\n6,1903,35.61\n7,1903,34.34\n8,1903,34.29\n9,1903,33.33\n10,1903,32.73\n11,1903,31.57\n12,1903,34.39\n1,1904,36.73\n2,1904,40.86\n3,1904,37.55\n4,1904,35.67\n5,1904,35.29\n6,1904,37.42\n7,1904,38.58\n8,1904,39.67\n9,1904,40.31\n10,1904,38.52\n11,1904,38.99\n12,1904,39.29\n1,1905,39.61\n2,1905,39.78\n3,1905,39.83\n4,1905,38.71\n5,1905,40.21\n6,1905,43.14\n7,1905,41.87\n8,1905,43.39\n9,1905,43.95\n10,1905,45.02\n11,1905,46.60\n12,1905,46.89\n1,1906,47.10\n2,1906,48.35\n3,1906,49.81\n4,1906,51.09\n5,1906,54.01\n6,1906,56.92\n7,1906,53.98\n8,1906,52.64\n9,1906,53.44\n10,1906,54.78\n11,1906,55.73\n12,1906,59.23\n1,1907,63.53\n2,1907,63.46\n3,1907,61.63\n4,1907,63.64\n5,1907,70.74\n6,1907,69.25\n7,1907,69.79\n8,1907,73.34\n9,1907,74.74\n10,1907,72.61\n11,1907,66.79\n12,1907,69.74\n1,1908,67.24\n2,1908,67.47\n3,1908,73.03\n4,1908,71.41\n5,1908,73.20\n6,1908,77.55\n7,1908,83.35\n8,1908,85.17\n9,1908,87.25\n10,1908,85.88\n11,1908,86.55\n12,1908,87.71\n1,1909,89.81\n2,1909,92.92\n3,1909,95.10\n4,1909,98.71\n5,1909,103.65\n6,1909,108.04\n7,1909,104.12\n8,1909,106.34\n9,1909,111.36\n10,1909,117.66\n11,1909,123.88\n12,1909,130.79\n1,1910,131.44\n2,1910,141.51\n3,1910,142.71\n4,1910,130.60\n5,1910,127.83\n6,1910,133.53\n7,1910,131.72\n8,1910,133.45\n9,1910,124.44\n10,1910,119.76\n11,1910,119.06\n12,1910,126.21\n1,1911,125.30\n2,1911,118.38\n3,1911,112.08\n4,1911,113.65\n5,1911,115.35\n6,1911,128.18\n7,1911,131.07\n8,1911,134.45\n9,1911,133.86\n10,1911,135.76\n11,1911,137.23\n12,1911,134.96\n1,1912,141.79\n2,1912,140.30\n3,1912,149.91\n4,1912,163.91\n5,1912,157.89\n6,1912,159.90\n7,1912,147.63\n8,1912,148.02\n9,1912,141.56\n10,1912,143.40\n11,1912,141.04\n12,1912,140.21\n1,1913,147.31\n2,1913,153.37\n3,1913,155.25\n4,1913,157.16\n5,1913,164.42\n6,1913,172.63\n7,1913,172.93\n8,1913,175.81\n9,1913,177.41\n10,1913,174.95\n11,1913,177.90\n12,1913,176.00\n1,1914,179.81\n2,1914,179.66\n3,1914,175.26\n4,1914,168.40\n5,1914,172.38\n6,1914,170.94\n7,1914,179.95\n8,1914,207.15\n9,1914,189.09\n10,1914,190.90\n11,1914,186.57\n12,1914,198.22\n1,1915,213.00\n2,1915,196.61\n3,1915,200.65\n4,1915,209.86\n5,1915,201.74\n6,1915,184.42\n7,1915,172.48\n8,1915,162.40\n9,1915,160.67\n10,1915,169.09\n11,1915,182.13\n12,1915,201.63\n1,1916,212.55\n2,1916,199.38\n3,1916,210.59\n4,1916,218.68\n5,1916,206.00\n6,1916,219.70\n7,1916,227.17\n8,1916,252.00\n9,1916,255.26\n10,1916,295.46\n11,1916,302.43\n12,1916,295.98\n1,1917,317.80\n2,1917,335.21\n3,1917,372.29\n4,1917,439.73\n5,1917,415.20\n6,1917,437.93\n7,1917,473.69\n8,1917,487.41\n9,1917,537.73\n10,1917,507.39\n11,1917,575.20\n12,1917,580.99\n1,1918,600.11\n2,1918,620.75\n3,1918,625.31\n4,1918,595.08\n5,1918,546.49\n6,1918,601.74\n7,1918,629.68\n8,1918,625.92\n9,1918,592.79\n10,1918,546.25\n11,1918,610.31\n12,1918,623.23\n1,1919,551.20\n2,1919,583.85\n3,1919,667.84\n4,1919,742.79\n5,1919,765.02\n6,1919,819.82\n7,1919,873.74\n8,1919,717.79\n9,1919,666.80\n10,1919,696.96\n11,1919,713.78\n12,1919,768.99\n1,1920,784.67\n2,1920,731.22\n3,1920,782.31\n4,1920,803.07\n5,1920,801.58\n6,1920,844.75\n7,1920,698.13\n8,1920,674.65\n9,1920,619.88\n10,1920,577.17\n11,1920,499.51\n12,1920,496.26\n1,1921,471.68\n2,1921,475.65\n3,1921,433.31\n4,1921,389.88\n5,1921,420.36\n6,1921,418.26\n7,1921,434.06\n8,1921,393.34\n9,1921,373.94\n10,1921,353.64\n11,1921,355.00\n12,1921,358.10\n1,1922,388.04\n2,1922,466.65\n3,1922,413.40\n4,1922,433.96\n5,1922,422.01\n6,1922,422.48\n7,1922,390.88\n8,1922,360.07\n9,1922,381.94\n10,1922,418.92\n11,1922,443.27\n12,1922,463.06\n1,1923,467.72\n2,1923,473.90\n3,1923,466.26\n4,1923,476.85\n5,1923,447.75\n6,1923,432.28\n7,1923,409.08\n8,1923,448.03\n9,1923,462.18\n10,1923,466.92\n11,1923,476.01\n12,1923,483.53\n1,1924,494.96\n2,1924,498.62\n3,1924,472.94\n4,1924,478.56\n5,1924,474.25\n6,1924,526.44\n7,1924,608.60\n8,1924,627.61\n9,1924,638.31\n10,1924,625.27\n11,1924,679.36\n12,1924,763.08\n1,1925,787.54\n2,1925,784.48\n3,1925,677.98\n4,1925,666.44\n5,1925,737.01\n6,1925,718.67\n7,1925,719.67\n8,1925,693.72\n9,1925,677.78\n10,1925,646.22\n11,1925,662.94\n12,1925,713.45\n1,1926,725.75\n2,1926,686.31\n3,1926,667.13\n4,1926,680.07\n5,1926,687.13\n6,1926,673.17\n7,1926,734.03\n8,1926,690.15\n9,1926,679.13\n10,1926,644.67\n11,1926,618.15\n12,1926,635.44\n1,1927,651.24\n2,1927,643.18\n3,1927,628.06\n4,1927,641.46\n5,1927,714.99\n6,1927,697.64\n7,1927,689.69\n8,1927,719.35\n9,1927,688.97\n10,1927,653.17\n11,1927,661.18\n12,1927,655.86\n1,1928,644.41\n2,1928,667.10\n3,1928,693.82\n4,1928,773.43\n5,1928,716.91\n6,1928,725.99\n7,1928,664.54\n8,1928,635.09\n9,1928,654.76\n10,1928,653.18\n11,1928,676.22\n12,1928,670.05\n1,1929,713.06\n2,1929,715.21\n3,1929,685.39\n4,1929,658.49\n5,1929,597.43\n6,1929,648.82\n7,1929,723.34\n8,1929,703.03\n9,1929,679.58\n10,1929,651.04\n11,1929,626.27\n12,1929,612.13\n1,1930,570.50\n2,1930,559.49\n3,1930,546.88\n4,1930,536.21\n5,1930,532.90\n6,1930,475.93\n7,1930,485.94\n8,1930,518.97\n9,1930,458.43\n10,1930,454.10\n11,1930,437.75\n12,1930,406.56\n1,1931,401.69\n2,1931,405.59\n3,1931,404.27\n4,1931,375.38\n5,1931,350.77\n6,1931,386.74\n7,1931,324.50\n8,1931,292.15\n9,1931,267.57\n10,1931,300.81\n11,1931,288.63\n12,1931,281.03\n1,1932,275.97\n2,1932,274.34\n3,1932,251.36\n4,1932,228.82\n5,1932,220.08\n6,1932,212.82\n7,1932,217.52\n8,1932,239.39\n9,1932,206.33\n10,1932,179.88\n11,1932,172.71\n12,1932,169.16\n1,1933,170.94\n2,1933,164.06\n3,1933,189.08\n4,1933,225.11\n5,1933,269.82\n6,1933,327.40\n7,1933,310.38\n8,1933,292.65\n9,1933,286.90\n10,1933,260.61\n11,1933,256.59\n12,1933,257.23\n1,1934,271.84\n2,1934,272.72\n3,1934,262.10\n4,1934,241.25\n5,1934,293.00\n6,1934,296.71\n7,1934,321.09\n8,1934,350.17\n9,1934,342.58\n10,1934,332.93\n11,1934,361.10\n12,1934,377.14\n1,1935,362.52\n2,1935,369.17\n3,1935,338.93\n4,1935,363.36\n5,1935,335.96\n6,1935,340.60\n7,1935,357.13\n8,1935,325.23\n9,1935,336.98\n10,1935,332.61\n11,1935,340.77\n12,1935,339.32\n1,1936,335.19\n2,1936,333.31\n3,1936,327.47\n4,1936,326.43\n5,1936,320.29\n6,1936,360.69\n7,1936,449.32\n8,1936,438.54\n9,1936,444.54\n10,1936,436.69\n11,1936,471.16\n12,1936,519.45\n1,1937,500.21\n2,1937,490.55\n3,1937,537.09\n4,1937,515.17\n5,1937,518.04\n6,1937,509.46\n7,1937,455.08\n8,1937,404.42\n9,1937,411.53\n10,1937,385.84\n11,1937,368.64\n12,1937,378.58\n1,1938,386.05\n2,1938,395.05\n3,1938,372.19\n4,1938,365.35\n5,1938,332.31\n6,1938,355.19\n7,1938,341.98\n8,1938,322.02\n9,1938,316.50\n10,1938,307.15\n11,1938,311.56\n12,1938,322.45\n1,1939,313.71\n2,1939,312.43\n3,1939,312.67\n4,1939,321.61\n5,1939,344.67\n6,1939,325.72\n7,1939,294.60\n8,1939,300.01\n9,1939,339.70\n10,1939,358.22\n11,1939,372.43\n12,1939,408.97\n1,1940,382.95\n2,1940,397.70\n3,1940,389.50\n4,1940,413.71\n5,1940,350.82\n6,1940,340.01\n7,1940,344.41\n8,1940,327.41\n9,1940,338.82\n10,1940,354.07\n11,1940,374.46\n12,1940,373.37\n1,1941,372.30\n2,1941,367.28\n3,1941,420.01\n4,1941,433.01\n5,1941,468.05\n6,1941,497.88\n7,1941,510.75\n8,1941,554.55\n9,1941,593.94\n10,1941,541.44\n11,1941,536.86\n12,1941,573.24\n1,1942,612.97\n2,1942,603.77\n3,1942,596.11\n4,1942,568.96\n5,1942,554.22\n6,1942,544.42\n7,1942,546.64\n8,1942,538.66\n9,1942,544.62\n10,1942,512.94\n11,1942,530.58\n12,1942,553.30\n1,1943,578.56\n2,1943,593.22\n3,1943,607.03\n4,1943,601.92\n5,1943,613.93\n6,1943,644.93\n7,1943,656.18\n8,1943,668.75\n9,1943,698.58\n10,1943,709.50\n11,1943,717.16\n12,1943,766.23\n1,1944,781.91\n2,1944,784.91\n3,1944,801.20\n4,1944,798.62\n5,1944,768.11\n6,1944,762.66\n7,1944,753.41\n8,1944,718.14\n9,1944,733.95\n10,1944,741.78\n11,1944,766.88\n12,1944,778.99\n1,1945,770.61\n2,1945,772.24\n3,1945,773.11\n4,1945,815.27\n5,1945,857.15\n6,1945,856.69\n7,1945,867.68\n8,1945,836.42\n9,1945,871.73\n10,1945,891.79\n11,1945,937.85\n12,1945,945.37\n1,1946,967.42\n2,1946,984.64\n3,1946,1007.19\n4,1946,1015.22\n5,1946,1016.50\n6,1946,1070.08\n7,1946,1030.19\n8,1946,1041.38\n9,1946,1081.73\n10,1946,1024.26\n11,1946,1054.68\n12,1946,1051.14\n1,1947,1114.78\n2,1947,1283.29\n3,1947,1389.07\n4,1947,1276.23\n5,1947,1374.05\n6,1947,1393.60\n7,1947,1462.32\n8,1947,1560.87\n9,1947,1776.45\n10,1947,1755.17\n11,1947,1991.17\n12,1947,1968.73\n1,1948,1965.84\n2,1948,1679.60\n3,1948,1752.61\n4,1948,1787.07\n5,1948,1854.83\n6,1948,1845.13\n7,1948,1652.28\n8,1948,1556.38\n9,1948,1553.86\n10,1948,1594.50\n11,1948,1658.84\n12,1948,1615.94\n1,1949,1527.08\n2,1949,1453.22\n3,1949,1421.75\n4,1949,1438.41\n5,1949,1397.77\n6,1949,1426.36\n7,1949,1534.07\n8,1949,1523.34\n9,1949,1535.16\n10,1949,1536.48\n11,1949,1596.04\n12,1949,1606.23\n1,1950,1606.67\n2,1950,1646.69\n3,1950,1731.28\n4,1950,1844.10\n5,1950,1958.35\n6,1950,1945.88\n7,1950,2162.24\n8,1950,2202.52\n9,1950,2107.93\n10,1950,2273.97\n11,1950,2454.00\n12,1950,2662.37\n1,1951,2827.42\n2,1951,2785.96\n3,1951,2747.98\n4,1951,2753.49\n5,1951,2607.26\n6,1951,2380.46\n7,1951,2475.97\n8,1951,2482.86\n9,1951,2630.19\n10,1951,2703.72\n11,1951,2846.14\n12,1951,2724.27\n1,1952,2644.79\n2,1952,2585.73\n3,1952,2589.90\n4,1952,2517.50\n5,1952,2652.79\n6,1952,2680.95\n7,1952,2709.10\n8,1952,2745.31\n9,1952,2702.69\n10,1952,2683.81\n11,1952,2733.57\n12,1952,2630.75\n1,1953,2558.69\n2,1953,2542.26\n3,1953,2526.39\n4,1953,2522.52\n5,1953,2420.49\n6,1953,2364.74\n7,1953,2388.31\n8,1953,2391.52\n9,1953,2438.74\n10,1953,2538.98\n11,1953,2710.93\n12,1953,2712.06\n1,1954,2723.22\n2,1954,2827.17\n3,1954,2917.93\n4,1954,3024.46\n5,1954,2837.65\n6,1954,2913.99\n7,1954,3186.46\n8,1954,3089.12\n9,1954,3064.09\n10,1954,3239.81\n11,1954,3256.03\n12,1954,3206.65\n1,1955,3200.55\n2,1955,3030.99\n3,1955,2950.15\n4,1955,2930.81\n5,1955,2961.03\n6,1955,2944.91\n7,1955,2856.48\n8,1955,2831.80\n9,1955,3015.38\n10,1955,2987.46\n11,1955,2920.97\n12,1955,2985.79\n1,1956,3046.62\n2,1956,3075.52\n3,1956,3226.96\n4,1956,3548.74\n5,1956,3409.64\n6,1956,3350.17\n7,1956,3354.34\n8,1956,3319.83\n9,1956,3342.67\n10,1956,3518.25\n11,1956,3593.56\n12,1956,3437.26\n1,1957,3483.86\n2,1957,3403.61\n3,1957,3369.91\n4,1957,3333.20\n5,1957,3299.37\n6,1957,3358.70\n7,1957,3389.84\n8,1957,3395.32\n9,1957,3264.04\n10,1957,3332.33\n11,1957,3341.93\n12,1957,3229.14\n1,1958,3185.03\n2,1958,3277.89\n3,1958,3371.94\n4,1958,3395.23\n5,1958,3452.46\n6,1958,3446.97\n7,1958,3496.78\n8,1958,3442.34\n9,1958,3372.78\n10,1958,3365.32\n11,1958,3411.18\n12,1958,3380.46\n1,1959,3449.31\n2,1959,3538.48\n3,1959,3615.62\n4,1959,3614.85\n5,1959,3586.22\n6,1959,3632.48\n7,1959,3682.03\n8,1959,3624.73\n9,1959,3653.98\n10,1959,3739.86\n11,1959,3720.52\n12,1959,3730.86\n1,1960,3731.15\n2,1960,3692.88\n3,1960,3796.11\n4,1960,3793.28\n5,1960,3816.34\n6,1960,3792.21\n7,1960,3815.52\n8,1960,3805.37\n9,1960,3796.59\n10,1960,3835.67\n11,1960,3740.33\n12,1960,3890.80\n1,1961,4119.44\n2,1961,4404.16\n3,1961,4212.78\n4,1961,4416.29\n5,1961,4288.85\n6,1961,4216.91\n7,1961,4193.18\n8,1961,4139.98\n9,1961,4037.66\n10,1961,4053.50\n11,1961,4054.61\n12,1961,4058.65\n1,1962,3990.63\n2,1962,3923.71\n3,1962,4021.74\n4,1962,4010.14\n5,1962,3977.15\n6,1962,3939.82\n7,1962,3863.17\n8,1962,3853.64\n9,1962,3832.38\n10,1962,3948.05\n11,1962,4013.60\n12,1962,4085.81\n1,1963,4201.36\n2,1963,4217.60\n3,1963,4161.50\n4,1963,4117.40\n5,1963,4131.18\n6,1963,4198.99\n7,1963,4115.49\n8,1963,4128.92\n9,1963,4379.62\n10,1963,4467.77\n11,1963,4311.89\n12,1963,4368.49\n1,1964,4282.70\n2,1964,4202.42\n3,1964,4126.05\n4,1964,4086.36\n5,1964,4075.31\n6,1964,4087.46\n7,1964,4078.72\n8,1964,4230.75\n9,1964,4345.47\n10,1964,4403.44\n11,1964,4550.53\n12,1964,4480.86\n1,1965,4616.01\n2,1965,4586.00\n3,1965,4618.67\n4,1965,4618.67\n5,1965,4575.16\n6,1965,4638.01\n7,1965,4633.95\n8,1965,4648.27\n9,1965,4663.81\n10,1965,4737.39\n11,1965,4842.04\n12,1965,4933.60\n1,1966,5090.42\n2,1966,5040.40\n3,1966,4942.73\n4,1966,5076.51\n5,1966,5113.88\n6,1966,5378.04\n7,1966,5480.01\n8,1966,5416.81\n9,1966,5260.59\n10,1966,5111.50\n11,1966,5230.70\n12,1966,5153.36\n1,1967,5157.42\n2,1967,5260.86\n3,1967,5330.74\n4,1967,5372.05\n5,1967,5673.88\n6,1967,5382.53\n7,1967,5308.11\n8,1967,5202.05\n9,1967,5286.60\n10,1967,5373.29\n11,1967,5356.22\n12,1967,5437.35\n1,1968,5444.01\n2,1968,5441.24\n3,1968,5418.05\n4,1968,5359.98\n5,1968,5319.69\n6,1968,5216.73\n7,1968,5063.07\n8,1968,5018.95\n9,1968,4989.29\n10,1968,5328.22\n11,1968,5492.53\n12,1968,5539.86\n1,1969,5539.23\n2,1969,5580.44\n3,1969,5550.52\n4,1969,5674.60\n5,1969,5770.02\n6,1969,5696.05\n7,1969,5623.21\n8,1969,5696.27\n9,1969,6000.97\n10,1969,6260.22\n11,1969,6191.07\n12,1969,6150.97\n1,1970,6287.63\n2,1970,6382.59\n3,1970,6393.51\n4,1970,6373.68\n5,1970,6184.36\n6,1970,6623.10\n7,1970,6555.18\n8,1970,6889.34\n9,1970,6975.89\n10,1970,6951.25\n11,1970,6855.69\n12,1970,6917.59\n1,1971,7269.18\n2,1971,7198.86\n3,1971,7273.99\n4,1971,7319.66\n5,1971,7589.51\n6,1971,7512.59\n7,1971,7563.07\n8,1971,7528.81\n9,1971,7528.21\n10,1971,7876.80\n11,1971,8083.54\n12,1971,8375.63\n1,1972,8699.57\n2,1972,8675.53\n3,1972,8790.33\n4,1972,9047.56\n5,1972,9259.11\n6,1972,9504.32\n7,1972,9418.38\n8,1972,9980.92\n9,1972,10736.39\n10,1972,10627.60\n11,1972,11045.91\n12,1972,11929.39\n1,1973,12336.87\n2,1973,12871.76\n3,1973,12565.25\n4,1973,13323.72\n5,1973,15753.59\n6,1973,15486.75\n7,1973,19478.03\n8,1973,19957.03\n9,1973,18954.56\n10,1973,17943.66\n11,1973,18883.04\n12,1973,20871.17\n1,1974,23200.07\n2,1974,23076.86\n3,1974,20421.01\n4,1974,20646.99\n5,1974,19250.25\n6,1974,21640.45\n7,1974,26797.69\n8,1974,25483.29\n9,1974,28566.46\n10,1974,31137.57\n11,1974,31743.38\n12,1974,29118.18\n1,1975,24565.56\n2,1975,22007.67\n3,1975,23867.19\n4,1975,22766.14\n5,1975,22424.17\n6,1975,22793.79\n7,1975,24578.78\n8,1975,26939.53\n9,1975,27246.65\n10,1975,25055.98\n11,1975,24750.67\n12,1975,24103.38\n1,1976,22950.05\n2,1976,24262.65\n3,1976,24312.53\n4,1976,25248.30\n5,1976,25705.06\n6,1976,25275.95\n7,1976,23038.40\n8,1976,22390.51\n9,1976,20177.60\n10,1976,19928.79\n11,1976,20213.06\n12,1976,21229.37\n1,1977,21172.87\n2,1977,21120.58\n3,1977,21889.27\n4,1977,23034.19\n5,1977,22243.26\n6,1977,21704.76\n7,1977,19856.67\n8,1977,20051.39\n9,1977,20782.82\n10,1977,21380.82\n11,1977,22289.54\n12,1977,23430.85\n1,1978,24186.32\n2,1978,24567.36\n3,1978,27103.61\n4,1978,27685.98\n5,1978,29797.32\n6,1978,27014.66\n7,1978,27750.89\n8,1978,28508.16\n9,1978,30111.65\n10,1978,30413.95\n11,1978,31201.27\n12,1978,30836.46\n1,1979,33060.79\n2,1979,34996.03\n3,1979,34374.59\n4,1979,36431.23\n5,1979,34714.76\n6,1979,35179.34\n7,1979,33711.08\n8,1979,37593.58\n9,1979,39209.09\n10,1979,37968.01\n11,1979,40599.82\n12,1979,41262.73\n1,1980,43748.49\n2,1980,43344.02\n3,1980,37285.87\n4,1980,38667.58\n5,1980,41018.72\n6,1980,43327.79\n7,1980,45385.03\n8,1980,46115.26\n9,1980,48692.38\n10,1980,50220.14\n11,1980,49522.97\n12,1980,45836.39\n1,1981,42923.91\n2,1981,41678.02\n3,1981,41607.71\n4,1981,41039.76\n5,1981,41262.13\n6,1981,38640.54\n7,1981,40397.28\n8,1981,39070.86\n9,1981,39020.97\n10,1981,39138.77\n11,1981,37374.82\n12,1981,35289.92\n1,1982,38111.05\n2,1982,37254.61\n3,1982,38644.14\n4,1982,40037.28\n5,1982,40128.03\n6,1982,38920.60\n7,1982,39766.22\n8,1982,39676.67\n9,1982,38516.73\n10,1982,38293.15\n11,1982,39821.51\n12,1982,39368.96\n1,1983,39643.62\n2,1983,39190.46\n3,1983,41831.28\n4,1983,42241.17\n5,1983,42463.54\n6,1983,43007.45\n7,1983,44521.99\n8,1983,45302.70\n9,1983,44071.83\n10,1983,43533.93\n11,1983,43571.80\n12,1983,45768.48\n1,1984,46248.68\n2,1984,46469.85\n3,1984,48751.27\n4,1984,48203.16\n5,1984,49602.90\n6,1984,48482.02\n7,1984,45225.77\n8,1984,47167.02\n9,1984,46796.80\n10,1984,47010.76\n11,1984,47189.26\n12,1984,46249.28\n1,1985,46832.86\n2,1985,46218.03\n3,1985,48215.78\n4,1985,46656.16\n5,1985,46651.36\n6,1985,45291.88\n7,1985,44273.77\n8,1985,44936.68\n9,1985,47492.16\n10,1985,50931.13\n11,1985,51817.61\n12,1985,50880.04\n1,1986,46263.71\n2,1986,44651.81\n3,1986,44552.64\n4,1986,47062.44\n5,1986,45295.48\n6,1986,47008.35\n7,1986,47462.11\n8,1986,51536.94\n9,1986,50234.56\n10,1986,50763.45\n11,1986,52300.22\n12,1986,51920.38\n1,1987,54890.56\n2,1987,51594.64\n3,1987,55762.62\n4,1987,58563.91\n5,1987,61267.84\n6,1987,63457.31\n7,1987,66289.26\n8,1987,64946.61\n9,1987,65425.61\n10,1987,66113.76\n11,1987,66099.93\n12,1987,64263.86\n1,1988,65971.92\n2,1988,65242.91\n3,1988,68532.21\n4,1988,70656.17\n5,1988,73151.55\n6,1988,71108.13\n7,1988,71528.83\n8,1988,71045.62\n9,1988,69105.57\n10,1988,72450.78\n11,1988,76613.95\n12,1988,82215.94\n1,1989,82554.31\n2,1989,86105.06\n3,1989,91914.39\n4,1989,94833.48\n5,1989,93621.25\n6,1989,96894.93\n7,1989,94172.37\n8,1989,97444.25\n9,1989,103248.17\n10,1989,102521.56\n11,1989,104175.53\n12,1989,113688.87\n1,1990,113191.23\n2,1990,112821.61\n3,1990,113647.40\n4,1990,112455.60\n5,1990,111625.01\n6,1990,109897.11\n7,1990,118967.51\n8,1990,138703.38\n9,1990,170521.88\n10,1990,160202.60\n11,1990,149686.78\n12,1990,146746.64\n1,1991,132970.54\n2,1991,134819.49\n3,1991,139894.33\n4,1991,143063.01\n5,1991,142989.75\n6,1991,139603.92\n7,1991,146731.74\n8,1991,148993.93\n9,1991,150169.86\n10,1991,154477.21\n11,1991,148237.92\n12,1991,137744.76\n1,1992,141531.41\n2,1992,139979.43\n3,1992,141543.80\n4,1992,145785.03\n5,1992,149701.93\n6,1992,148876.68\n7,1992,146802.12\n8,1992,146955.56\n9,1992,148640.61\n10,1992,145372.39\n11,1992,143513.47\n12,1992,143836.57\n1,1993,145580.58\n2,1993,147271.92\n3,1993,150341.27\n4,1993,148725.89\n5,1993,144587.35\n6,1993,140062.36\n7,1993,138851.34\n8,1993,139994.40\n9,1993,140350.97\n10,1993,135308.16\n11,1993,128521.83\n12,1993,126104.11\n1,1994,136371.65\n2,1994,133406.58\n3,1994,131818.36\n4,1994,135270.66\n5,1994,137283.31\n6,1994,140660.38\n7,1994,143081.96\n8,1994,133438.38\n9,1994,132182.69\n10,1994,132778.28\n11,1994,128430.49\n12,1994,132778.53\n1,1995,129479.05\n2,1995,130524.87\n3,1995,132302.46\n4,1995,136353.73\n5,1995,135202.38\n6,1995,132790.18\n7,1995,136258.00\n8,1995,139146.43\n9,1995,139734.10\n10,1995,141140.51\n11,1995,144950.79\n12,1995,159775.22\n1,1996,159516.97\n2,1996,165911.44\n3,1996,176696.32\n4,1996,186897.28\n5,1996,185421.44\n6,1996,192615.31\n7,1996,183499.96\n8,1996,189409.36\n9,1996,196126.87\n10,1996,195641.39\n11,1996,211922.25\n12,1996,213966.08\n1,1997,210820.77\n2,1997,196287.22\n3,1997,199598.11\n4,1997,204215.59\n5,1997,205676.22\n6,1997,194548.99\n7,1997,202519.54\n8,1997,207641.39\n9,1997,212893.29\n10,1997,218750.51\n11,1997,197182.85\n12,1997,183858.22\n1,1998,180894.96\n2,1998,168958.72\n3,1998,168081.18\n4,1998,163498.04\n5,1998,155784.54\n6,1998,150261.10\n7,1998,138449.33\n8,1998,130278.45\n9,1998,143593.77\n10,1998,136857.81\n11,1998,120205.70\n12,1998,118136.79\n1,1999,118652.46\n2,1999,113186.84\n3,1999,132307.10\n4,1999,137774.94\n5,1999,130256.71\n6,1999,138634.37\n7,1999,143607.70\n8,1999,153715.02\n9,1999,161868.16\n10,1999,153520.42\n11,1999,159732.48\n12,1999,166479.20\n1,2000,178516.65\n2,2000,189669.54\n3,2000,187468.10\n4,2000,185760.42\n5,2000,206560.84\n6,2000,221281.73\n7,2000,204287.77\n8,2000,235765.86\n9,2000,232538.16\n10,2000,233062.06\n11,2000,254539.59\n12,2000,249291.70\n1,2001,236060.60\n2,2001,232765.52\n3,2001,223642.71\n4,2001,235652.70\n5,2001,228940.24\n6,2001,212378.34\n7,2001,212886.55\n8,2001,214921.92\n9,2001,191374.90\n10,2001,181724.77\n11,2001,171964.65\n12,2001,169685.09\n1,2002,164391.13\n2,2002,171571.66\n3,2002,194702.55\n4,2002,196858.06\n5,2002,188292.39\n6,2002,194727.13\n7,2002,195853.00\n8,2002,207698.06\n9,2002,217182.73\n10,2002,206934.90\n11,2002,206485.72\n12,2002,224100.87\n1,2003,244250.23\n2,2003,273859.79\n3,2003,234393.52\n4,2003,220008.43\n5,2003,241102.14\n6,2003,241631.27\n7,2003,243352.07\n8,2003,253296.47\n9,2003,242951.98\n10,2003,248274.68\n11,2003,254627.98\n12,2003,270529.43\n1,2004,271589.43\n2,2004,291742.44\n3,2004,297605.31\n4,2004,305813.22\n5,2004,319962.83\n6,2004,304924.63\n7,2004,328564.39\n8,2004,315806.22\n9,2004,355641.80\n10,2004,370394.88\n11,2004,352477.63\n12,2004,317270.16\n1,2005,338722.55\n2,2005,359812.11\n3,2005,387011.28\n4,2005,351983.41\n5,2005,349403.95\n6,2005,369652.60\n7,2005,389966.13\n8,2005,449020.55\n9,2005,449101.13\n10,2005,402730.99\n11,2005,387234.75\n12,2005,398342.73\n1,2006,415607.32\n2,2006,373612.73\n3,2006,392780.60\n4,2006,417657.11\n5,2006,414442.70\n6,2006,419260.35\n7,2006,427667.43\n8,2006,396629.50\n9,2006,354164.64\n10,2006,345068.78\n11,2006,364144.49\n12,2006,338225.10\n1,2007,330480.16\n2,2007,344680.94\n3,2007,355828.94\n4,2007,354850.28\n5,2007,349338.07\n6,2007,360591.16\n7,2007,380589.46\n8,2007,364654.79\n9,2007,401943.72\n10,2007,440558.18\n11,2007,424269.57\n12,2007,448729.76\n1,2008,448615.40\n2,2008,499122.66\n3,2008,493262.08\n4,2008,532548.27\n5,2008,581031.21\n6,2008,634582.16\n7,2008,556996.10\n8,2008,517436.88\n9,2008,453057.51\n10,2008,325301.81\n11,2008,277024.44\n12,2008,240125.82\n1,2009,218661.27\n2,2009,205321.98\n3,2009,214572.68\n4,2009,212601.50\n5,2009,254409.94\n6,2009,255862.86\n7,2009,256996.56\n8,2009,250920.43\n9,2009,251353.64\n10,2009,266115.02\n11,2009,270171.52\n12,2009,272506.67\n1,2010,250993.94\n2,2010,264945.23\n3,2010,270072.95\n4,2010,277567.46\n5,2010,240958.51\n6,2010,241963.74\n7,2010,255586.66\n8,2010,241466.05\n9,2010,261962.14\n10,2010,268659.94\n11,2010,271568.07\n12,2010,297102.59\n1,2011,306169.43\n2,2011,317637.13\n3,2011,331458.91\n4,2011,346081.95\n5,2011,322242.34\n6,2011,305146.16\n7,2011,312576.11\n8,2011,306810.29\n9,2011,269475.20\n10,2011,295738.79\n11,2011,299928.09\n12,2011,293607.24\n1,2012,300161.47\n2,2012,318361.76\n3,2012,310879.22\n4,2012,309283.55\n5,2012,269144.71\n6,2012,272378.12\n7,2012,289738.21\n8,2012,308180.70\n9,2012,303797.56\n10,2012,291445.67\n11,2012,295750.68\n12,2012,293832.87\n1,2013,306636.72\n2,2013,293189.79\n3,2013,295446.57\n4,2013,281471.36\n5,2013,277279.93\n6,2013,277929.02\n7,2013,291584.50\n8,2013,301428.39\n9,2013,291204.66\n10,2013,287003.02\n11,2013,284766.08\n12,2013,290254.47\n1,2014,285504.71\n2,2014,298375.88\n3,2014,298792.37\n4,2014,301008.89\n5,2014,300480.60\n6,2014,306841.66\n7,2014,290588.03\n8,2014,285823.25\n9,2014,268606.20\n10,2014,252533.48\n11,2014,224955.67\n12,2014,194293.51\n1,2015,179728.10\n2,2015,191347.97\n3,2015,178325.95\n4,2015,198044.99\n5,2015,194109.60\n6,2015,193892.03\n7,2015,166549.22\n8,2015,167048.06\n9,2015,156479.35\n10,2015,156838.76\n11,2015,142776.40\n12,2015,130455.76\n1,2016,123710.05\n2,2016,121222.49\n3,2016,127199.50\n4,2016,140097.71\n5,2016,143204.92\n6,2016,143319.71\n7,2016,129607.13\n8,2016,131899.98\n9,2016,137366.73\n10,2016,135310.09\n11,2016,138740.03\n12,2016,145281.99\n1,2017,143229.56\n2,2017,143561.91\n3,2017,137942.50\n4,2017,135037.23\n5,2017,132962.56\n6,2017,130407.07\n7,2017,136385.89\n8,2017,135326.92\n9,2017,139821.85\n10,2017,145159.99\n11,2017,147166.15\n12,2017,153660.03\n1,2018,158914.03\n2,2018,153606.54\n3,2018,157019.06\n4,2018,164928.31\n5,2018,167315.51\n6,2018,169583.11\n7,2018,163595.28\n8,2018,165358.03\n9,2018,171854.31\n10,2018,161812.69\n11,2018,143558.31\n12,2018,132430.06\n1,2019,144334.21\n2,2019,149837.63\n3,2019,152248.87\n4,2019,156586.93\n5,2019,143725.39\n6,2019,150093.66\n7,2019,149775.72\n8,2019,141353.81\n9,2019,143826.36\n10,2019,145616.76\n11,2019,145598.12\n12,2019,155772.57\n1,2020,138910.12\n2,2020,127256.60\n3,2020,89810.86\n4,2020,81125.11\n5,2020,94407.36\n6,2020,99213.62\n7,2020,102980.13\n8,2020,107702.24\n9,2020,103782.47\n10,2020,100072.45\n11,2020,112122.04\n12,2020,118816.66\n1,2021,124690.90\n2,2021,137886.00\n3,2021,134915.83\n4,2021,146020.03\n5,2021,149702.40\n6,2021,156128.97\n7,2021,158587.09\n8,2021,154936.57\n9,2021,164284.63\n10,2021,173808.19\n11,2021,154996.07\n12,2021,166763.18\n1,2022,186163.69\n2,2022,202497.25\n3,2022,222004.73\n4,2022,233370.37\n5,2022,245201.79\n6,2022,226460.60\n7,2022,226364.43\n8,2022,220301.48\n9,2022,203115.08\n10,2022,216733.90\n11,2022,213037.71\n12,2022,210097.58\n1,2023,209914.28\n2,2023,201883.02\n3,2023,199715.19\n4,2023,198200.65\n5,2023,186095.77\n6,2023,194266.46\n7,2023,215122.00\n8,2023,216405.75\n9,2023,225312.67\n10,2023,215884.08\n11,2023,208015.09\n12,2023,201131.76\n1,2024,210115.61\n2,2024,211947.48\n3,2024,221971.68\n4,2024,224544.59\n5,2024,220274.43\n6,2024,223417.70\n7,2024,215546.91\n8,2024,211832.69\n9,2024,211660.80\n10,2024,212623.61\n11,2024,212753.43\n12,2024,219727.52\n1,2025,227014.12\n2,2025,223962.81\n3,2025,230466.91\n4,2025,211027.94\n5,2025,214383.96\n6,2025,223986.25\n7,2025,232084.22\n8,2025,231610.62\n9,2025,233111.34\n10,2025,236258.21\n11,2025,236081.51\n12,2025,235367.52\n`,
        'cash': `1,1871,100.00\n2,1871,100.53\n3,1871,101.06\n4,1871,101.60\n5,1871,102.13\n6,1871,102.67\n7,1871,103.22\n8,1871,103.76\n9,1871,104.31\n10,1871,104.86\n11,1871,105.42\n12,1871,105.98\n1,1872,106.67\n2,1872,107.36\n3,1872,108.06\n4,1872,108.76\n5,1872,109.47\n6,1872,110.18\n7,1872,110.90\n8,1872,111.62\n9,1872,112.35\n10,1872,113.08\n11,1872,113.82\n12,1872,114.56\n1,1873,115.35\n2,1873,116.16\n3,1873,116.96\n4,1873,117.78\n5,1873,118.60\n6,1873,119.42\n7,1873,120.25\n8,1873,121.09\n9,1873,121.93\n10,1873,122.78\n11,1873,123.64\n12,1873,124.50\n1,1874,125.21\n2,1874,125.92\n3,1874,126.64\n4,1874,127.37\n5,1874,128.10\n6,1874,128.83\n7,1874,129.57\n8,1874,130.31\n9,1874,131.05\n10,1874,131.80\n11,1874,132.55\n12,1874,133.31\n1,1875,133.86\n2,1875,134.42\n3,1875,134.97\n4,1875,135.53\n5,1875,136.09\n6,1875,136.65\n7,1875,137.22\n8,1875,137.78\n9,1875,138.35\n10,1875,138.93\n11,1875,139.50\n12,1875,140.08\n1,1876,140.70\n2,1876,141.32\n3,1876,141.95\n4,1876,142.58\n5,1876,143.21\n6,1876,143.85\n7,1876,144.49\n8,1876,145.13\n9,1876,145.78\n10,1876,146.42\n11,1876,147.07\n12,1876,147.73\n1,1877,148.35\n2,1877,148.97\n3,1877,149.59\n4,1877,150.22\n5,1877,150.85\n6,1877,151.48\n7,1877,152.12\n8,1877,152.75\n9,1877,153.39\n10,1877,154.04\n11,1877,154.68\n12,1877,155.33\n1,1878,155.97\n2,1878,156.60\n3,1878,157.24\n4,1878,157.88\n5,1878,158.53\n6,1878,159.18\n7,1878,159.83\n8,1878,160.48\n9,1878,161.13\n10,1878,161.79\n11,1878,162.45\n12,1878,163.12\n1,1879,163.69\n2,1879,164.27\n3,1879,164.86\n4,1879,165.44\n5,1879,166.03\n6,1879,166.61\n7,1879,167.20\n8,1879,167.80\n9,1879,168.39\n10,1879,168.99\n11,1879,169.58\n12,1879,170.19\n1,1880,170.91\n2,1880,171.63\n3,1880,172.36\n4,1880,173.10\n5,1880,173.83\n6,1880,174.57\n7,1880,175.31\n8,1880,176.06\n9,1880,176.81\n10,1880,177.56\n11,1880,178.31\n12,1880,179.07\n1,1881,179.79\n2,1881,180.50\n3,1881,181.22\n4,1881,181.95\n5,1881,182.67\n6,1881,183.40\n7,1881,184.13\n8,1881,184.87\n9,1881,185.61\n10,1881,186.35\n11,1881,187.09\n12,1881,187.84\n1,1882,188.66\n2,1882,189.49\n3,1882,190.32\n4,1882,191.15\n5,1882,191.99\n6,1882,192.83\n7,1882,193.68\n8,1882,194.53\n9,1882,195.38\n10,1882,196.24\n11,1882,197.10\n12,1882,197.96\n1,1883,198.84\n2,1883,199.73\n3,1883,200.62\n4,1883,201.51\n5,1883,202.41\n6,1883,203.32\n7,1883,204.22\n8,1883,205.13\n9,1883,206.05\n10,1883,206.97\n11,1883,207.89\n12,1883,208.82\n1,1884,209.80\n2,1884,210.79\n3,1884,211.78\n4,1884,212.78\n5,1884,213.78\n6,1884,214.78\n7,1884,215.80\n8,1884,216.81\n9,1884,217.83\n10,1884,218.86\n11,1884,219.89\n12,1884,220.92\n1,1885,221.70\n2,1885,222.48\n3,1885,223.26\n4,1885,224.05\n5,1885,224.84\n6,1885,225.63\n7,1885,226.42\n8,1885,227.22\n9,1885,228.02\n10,1885,228.82\n11,1885,229.62\n12,1885,230.43\n1,1886,231.25\n2,1886,232.07\n3,1886,232.89\n4,1886,233.72\n5,1886,234.55\n6,1886,235.38\n7,1886,236.22\n8,1886,237.06\n9,1886,237.90\n10,1886,238.74\n11,1886,239.59\n12,1886,240.44\n1,1887,241.66\n2,1887,242.89\n3,1887,244.13\n4,1887,245.37\n5,1887,246.62\n6,1887,247.88\n7,1887,249.14\n8,1887,250.41\n9,1887,251.68\n10,1887,252.97\n11,1887,254.25\n12,1887,255.55\n1,1888,256.62\n2,1888,257.69\n3,1888,258.77\n4,1888,259.85\n5,1888,260.94\n6,1888,262.03\n7,1888,263.13\n8,1888,264.23\n9,1888,265.33\n10,1888,266.44\n11,1888,267.56\n12,1888,268.68\n1,1889,269.72\n2,1889,270.78\n3,1889,271.83\n4,1889,272.89\n5,1889,273.96\n6,1889,275.03\n7,1889,276.10\n8,1889,277.17\n9,1889,278.26\n10,1889,279.34\n11,1889,280.43\n12,1889,281.52\n1,1890,282.79\n2,1890,284.07\n3,1890,285.35\n4,1890,286.64\n5,1890,287.93\n6,1890,289.23\n7,1890,290.53\n8,1890,291.84\n9,1890,293.15\n10,1890,294.48\n11,1890,295.80\n12,1890,297.14\n1,1891,298.62\n2,1891,300.10\n3,1891,301.59\n4,1891,303.09\n5,1891,304.60\n6,1891,306.12\n7,1891,307.64\n8,1891,309.17\n9,1891,310.71\n10,1891,312.26\n11,1891,313.81\n12,1891,315.37\n1,1892,316.40\n2,1892,317.44\n3,1892,318.48\n4,1892,319.52\n5,1892,320.57\n6,1892,321.62\n7,1892,322.67\n8,1892,323.73\n9,1892,324.79\n10,1892,325.85\n11,1892,326.92\n12,1892,327.99\n1,1893,330.32\n2,1893,332.66\n3,1893,335.03\n4,1893,337.40\n5,1893,339.80\n6,1893,342.21\n7,1893,344.64\n8,1893,347.09\n9,1893,349.55\n10,1893,352.04\n11,1893,354.54\n12,1893,357.05\n1,1894,358.04\n2,1894,359.03\n3,1894,360.02\n4,1894,361.02\n5,1894,362.02\n6,1894,363.02\n7,1894,364.02\n8,1894,365.03\n9,1894,366.04\n10,1894,367.05\n11,1894,368.07\n12,1894,369.09\n1,1895,370.04\n2,1895,370.99\n3,1895,371.95\n4,1895,372.90\n5,1895,373.87\n6,1895,374.83\n7,1895,375.79\n8,1895,376.76\n9,1895,377.73\n10,1895,378.70\n11,1895,379.68\n12,1895,380.66\n1,1896,382.48\n2,1896,384.32\n3,1896,386.16\n4,1896,388.02\n5,1896,389.88\n6,1896,391.75\n7,1896,393.63\n8,1896,395.52\n9,1896,397.42\n10,1896,399.33\n11,1896,401.24\n12,1896,403.17\n1,1897,404.33\n2,1897,405.49\n3,1897,406.65\n4,1897,407.81\n5,1897,408.98\n6,1897,410.15\n7,1897,411.33\n8,1897,412.51\n9,1897,413.69\n10,1897,414.88\n11,1897,416.07\n12,1897,417.26\n1,1898,418.49\n2,1898,419.73\n3,1898,420.97\n4,1898,422.22\n5,1898,423.47\n6,1898,424.72\n7,1898,425.98\n8,1898,427.24\n9,1898,428.50\n10,1898,429.77\n11,1898,431.04\n12,1898,432.32\n1,1899,433.53\n2,1899,434.74\n3,1899,435.96\n4,1899,437.18\n5,1899,438.40\n6,1899,439.63\n7,1899,440.86\n8,1899,442.10\n9,1899,443.33\n10,1899,444.57\n11,1899,445.82\n12,1899,447.07\n1,1900,448.80\n2,1900,450.53\n3,1900,452.27\n4,1900,454.02\n5,1900,455.78\n6,1900,457.54\n7,1900,459.31\n8,1900,461.09\n9,1900,462.87\n10,1900,464.66\n11,1900,466.46\n12,1900,468.26\n1,1901,469.94\n2,1901,471.62\n3,1901,473.31\n4,1901,475.01\n5,1901,476.71\n6,1901,478.42\n7,1901,480.13\n8,1901,481.85\n9,1901,483.58\n10,1901,485.31\n11,1901,487.05\n12,1901,488.80\n1,1902,490.72\n2,1902,492.65\n3,1902,494.59\n4,1902,496.53\n5,1902,498.48\n6,1902,500.45\n7,1902,502.41\n8,1902,504.39\n9,1902,506.37\n10,1902,508.37\n11,1902,510.36\n12,1902,512.37\n1,1903,514.72\n2,1903,517.08\n3,1903,519.45\n4,1903,521.83\n5,1903,524.22\n6,1903,526.62\n7,1903,529.04\n8,1903,531.46\n9,1903,533.90\n10,1903,536.35\n11,1903,538.80\n12,1903,541.27\n1,1904,543.23\n2,1904,545.20\n3,1904,547.17\n4,1904,549.15\n5,1904,551.13\n6,1904,553.13\n7,1904,555.13\n8,1904,557.13\n9,1904,559.15\n10,1904,561.17\n11,1904,563.20\n12,1904,565.24\n1,1905,567.20\n2,1905,569.17\n3,1905,571.15\n4,1905,573.14\n5,1905,575.13\n6,1905,577.13\n7,1905,579.13\n8,1905,581.14\n9,1905,583.16\n10,1905,585.19\n11,1905,587.22\n12,1905,589.26\n1,1906,591.95\n2,1906,594.65\n3,1906,597.36\n4,1906,600.08\n5,1906,602.82\n6,1906,605.57\n7,1906,608.33\n8,1906,611.10\n9,1906,613.88\n10,1906,616.68\n11,1906,619.49\n12,1906,622.32\n1,1907,625.55\n2,1907,628.80\n3,1907,632.06\n4,1907,635.34\n5,1907,638.64\n6,1907,641.96\n7,1907,645.29\n8,1907,648.64\n9,1907,652.01\n10,1907,655.39\n11,1907,658.79\n12,1907,662.21\n1,1908,665.15\n2,1908,668.10\n3,1908,671.06\n4,1908,674.04\n5,1908,677.02\n6,1908,680.03\n7,1908,683.04\n8,1908,686.07\n9,1908,689.11\n10,1908,692.17\n11,1908,695.23\n12,1908,698.32\n1,1909,700.44\n2,1909,702.57\n3,1909,704.71\n4,1909,706.85\n5,1909,709.00\n6,1909,711.16\n7,1909,713.32\n8,1909,715.49\n9,1909,717.67\n10,1909,719.85\n11,1909,722.04\n12,1909,724.24\n1,1910,727.41\n2,1910,730.60\n3,1910,733.80\n4,1910,737.02\n5,1910,740.25\n6,1910,743.49\n7,1910,746.75\n8,1910,750.03\n9,1910,753.31\n10,1910,756.61\n11,1910,759.93\n12,1910,763.26\n1,1911,765.81\n2,1911,768.36\n3,1911,770.92\n4,1911,773.49\n5,1911,776.07\n6,1911,778.66\n7,1911,781.25\n8,1911,783.86\n9,1911,786.47\n10,1911,789.09\n11,1911,791.72\n12,1911,794.36\n1,1912,797.24\n2,1912,800.13\n3,1912,803.03\n4,1912,805.94\n5,1912,808.86\n6,1912,811.79\n7,1912,814.74\n8,1912,817.69\n9,1912,820.65\n10,1912,823.63\n11,1912,826.61\n12,1912,829.61\n1,1913,833.52\n2,1913,837.44\n3,1913,841.38\n4,1913,845.35\n5,1913,849.33\n6,1913,853.32\n7,1913,857.34\n8,1913,861.38\n9,1913,865.43\n10,1913,869.51\n11,1913,873.60\n12,1913,877.72\n1,1914,881.11\n2,1914,884.52\n3,1914,887.94\n4,1914,891.37\n5,1914,894.82\n6,1914,898.28\n7,1914,901.75\n8,1914,905.24\n9,1914,908.74\n10,1914,912.25\n11,1914,915.78\n12,1914,919.32\n1,1915,922.12\n2,1915,924.92\n3,1915,927.73\n4,1915,930.56\n5,1915,933.39\n6,1915,936.23\n7,1915,939.07\n8,1915,941.93\n9,1915,944.80\n10,1915,947.67\n11,1915,950.55\n12,1915,953.44\n1,1916,956.33\n2,1916,959.24\n3,1916,962.15\n4,1916,965.06\n5,1916,967.99\n6,1916,970.93\n7,1916,973.87\n8,1916,976.83\n9,1916,979.79\n10,1916,982.76\n11,1916,985.74\n12,1916,988.73\n1,1917,992.23\n2,1917,995.75\n3,1917,999.28\n4,1917,1002.81\n5,1917,1006.37\n6,1917,1009.93\n7,1917,1013.51\n8,1917,1017.10\n9,1917,1020.70\n10,1917,1024.31\n11,1917,1027.94\n12,1917,1031.58\n1,1918,1036.72\n2,1918,1041.89\n3,1918,1047.08\n4,1918,1052.30\n5,1918,1057.54\n6,1918,1062.81\n7,1918,1068.11\n8,1918,1073.43\n9,1918,1078.78\n10,1918,1084.16\n11,1918,1089.56\n12,1918,1094.99\n1,1919,1100.06\n2,1919,1105.16\n3,1919,1110.28\n4,1919,1115.43\n5,1919,1120.59\n6,1919,1125.79\n7,1919,1131.00\n8,1919,1136.24\n9,1919,1141.51\n10,1919,1146.80\n11,1919,1152.11\n12,1919,1157.45\n1,1920,1164.49\n2,1920,1171.57\n3,1920,1178.70\n4,1920,1185.87\n5,1920,1193.08\n6,1920,1200.34\n7,1920,1207.64\n8,1920,1214.99\n9,1920,1222.38\n10,1920,1229.82\n11,1920,1237.30\n12,1920,1244.83\n1,1921,1252.54\n2,1921,1260.31\n3,1921,1268.12\n4,1921,1275.99\n5,1921,1283.90\n6,1921,1291.86\n7,1921,1299.87\n8,1921,1307.93\n9,1921,1316.04\n10,1921,1324.19\n11,1921,1332.40\n12,1921,1340.67\n1,1922,1345.78\n2,1922,1350.92\n3,1922,1356.07\n4,1922,1361.25\n5,1922,1366.45\n6,1922,1371.66\n7,1922,1376.90\n8,1922,1382.15\n9,1922,1387.43\n10,1922,1392.72\n11,1922,1398.04\n12,1922,1403.37\n1,1923,1409.17\n2,1923,1415.00\n3,1923,1420.85\n4,1923,1426.72\n5,1923,1432.62\n6,1923,1438.54\n7,1923,1444.48\n8,1923,1450.46\n9,1923,1456.45\n10,1923,1462.47\n11,1923,1468.52\n12,1923,1474.59\n1,1924,1479.92\n2,1924,1485.27\n3,1924,1490.64\n4,1924,1496.03\n5,1924,1501.44\n6,1924,1506.87\n7,1924,1512.32\n8,1924,1517.79\n9,1924,1523.28\n10,1924,1528.79\n11,1924,1534.32\n12,1924,1539.87\n1,1925,1544.84\n2,1925,1549.82\n3,1925,1554.82\n4,1925,1559.83\n5,1925,1564.86\n6,1925,1569.91\n7,1925,1574.97\n8,1925,1580.05\n9,1925,1585.15\n10,1925,1590.26\n11,1925,1595.39\n12,1925,1600.53\n1,1926,1606.24\n2,1926,1611.97\n3,1926,1617.72\n4,1926,1623.49\n5,1926,1629.28\n6,1926,1635.09\n7,1926,1640.92\n8,1926,1646.77\n9,1926,1652.65\n10,1926,1658.54\n11,1926,1664.46\n12,1926,1670.39\n1,1927,1676.32\n2,1927,1682.28\n3,1927,1688.25\n4,1927,1694.24\n5,1927,1700.26\n6,1927,1706.29\n7,1927,1712.35\n8,1927,1718.43\n9,1927,1724.53\n10,1927,1730.65\n11,1927,1736.79\n12,1927,1742.96\n1,1928,1748.03\n2,1928,1753.11\n3,1928,1758.21\n4,1928,1763.32\n5,1928,1768.45\n6,1928,1773.60\n7,1928,1778.75\n8,1928,1783.93\n9,1928,1789.12\n10,1928,1794.32\n11,1928,1799.54\n12,1928,1804.77\n1,1929,1809.52\n2,1929,1814.29\n3,1929,1819.07\n4,1929,1823.86\n5,1929,1828.66\n6,1929,1833.47\n7,1929,1838.30\n8,1929,1843.14\n9,1929,1848.00\n10,1929,1852.86\n11,1929,1857.74\n12,1929,1862.64\n1,1930,1869.70\n2,1930,1876.79\n3,1930,1883.90\n4,1930,1891.05\n5,1930,1898.22\n6,1930,1905.41\n7,1930,1912.64\n8,1930,1919.89\n9,1930,1927.17\n10,1930,1934.48\n11,1930,1941.81\n12,1930,1949.18\n1,1931,1952.93\n2,1931,1956.69\n3,1931,1960.45\n4,1931,1964.23\n5,1931,1968.01\n6,1931,1971.80\n7,1931,1975.59\n8,1931,1979.40\n9,1931,1983.21\n10,1931,1987.02\n11,1931,1990.85\n12,1931,1994.68\n1,1932,1996.46\n2,1932,1998.24\n3,1932,2000.02\n4,1932,2001.80\n5,1932,2003.59\n6,1932,2005.38\n7,1932,2007.16\n8,1932,2008.95\n9,1932,2010.75\n10,1932,2012.54\n11,1932,2014.33\n12,1932,2016.13\n1,1933,2017.74\n2,1933,2019.36\n3,1933,2020.97\n4,1933,2022.59\n5,1933,2024.21\n6,1933,2025.83\n7,1933,2027.45\n8,1933,2029.07\n9,1933,2030.69\n10,1933,2032.32\n11,1933,2033.94\n12,1933,2035.57\n1,1934,2036.11\n2,1934,2037.33\n3,1934,2038.39\n4,1934,2038.79\n5,1934,2039.05\n6,1934,2039.32\n7,1934,2039.58\n8,1934,2039.83\n9,1934,2040.15\n10,1934,2040.51\n11,1934,2040.97\n12,1934,2041.39\n1,1935,2041.79\n2,1935,2042.13\n3,1935,2042.45\n4,1935,2042.70\n5,1935,2042.96\n6,1935,2043.22\n7,1935,2043.47\n8,1935,2043.73\n9,1935,2044.00\n10,1935,2044.34\n11,1935,2044.68\n12,1935,2044.95\n1,1936,2045.21\n2,1936,2045.55\n3,1936,2045.89\n4,1936,2046.23\n5,1936,2046.57\n6,1936,2046.91\n7,1936,2047.25\n8,1936,2047.51\n9,1936,2047.85\n10,1936,2048.12\n11,1936,2048.35\n12,1936,2048.53\n1,1937,2048.74\n2,1937,2049.03\n3,1937,2049.29\n4,1937,2049.93\n5,1937,2050.89\n6,1937,2051.59\n7,1937,2052.21\n8,1937,2052.69\n9,1937,2053.18\n10,1937,2053.71\n11,1937,2054.06\n12,1937,2054.21\n1,1938,2054.40\n2,1938,2054.57\n3,1938,2054.71\n4,1938,2054.84\n5,1938,2055.00\n6,1938,2055.08\n7,1938,2055.17\n8,1938,2055.29\n9,1938,2055.39\n10,1938,2055.53\n11,1938,2055.61\n12,1938,2055.68\n1,1939,2055.73\n2,1939,2055.78\n3,1939,2055.84\n4,1939,2055.89\n5,1939,2055.94\n6,1939,2055.99\n7,1939,2056.04\n8,1939,2056.11\n9,1939,2056.20\n10,1939,2056.44\n11,1939,2056.52\n12,1939,2056.61\n1,1940,2056.68\n2,1940,2056.69\n3,1940,2056.73\n4,1940,2056.76\n5,1940,2056.80\n6,1940,2056.90\n7,1940,2057.07\n8,1940,2057.16\n9,1940,2057.22\n10,1940,2057.31\n11,1940,2057.34\n12,1940,2057.38\n1,1941,2057.41\n2,1941,2057.45\n3,1941,2057.52\n4,1941,2057.70\n5,1941,2057.88\n6,1941,2058.06\n7,1941,2058.27\n8,1941,2058.48\n9,1941,2058.70\n10,1941,2058.87\n11,1941,2059.02\n12,1941,2059.51\n1,1942,2060.07\n2,1942,2060.54\n3,1942,2060.96\n4,1942,2061.39\n5,1942,2061.94\n6,1942,2062.58\n7,1942,2063.22\n8,1942,2063.87\n9,1942,2064.52\n10,1942,2065.18\n11,1942,2065.83\n12,1942,2066.48\n1,1943,2067.14\n2,1943,2067.79\n3,1943,2068.45\n4,1943,2069.10\n5,1943,2069.76\n6,1943,2070.41\n7,1943,2071.07\n8,1943,2071.73\n9,1943,2072.38\n10,1943,2073.04\n11,1943,2073.69\n12,1943,2074.35\n1,1944,2075.01\n2,1944,2075.66\n3,1944,2076.32\n4,1944,2076.98\n5,1944,2077.64\n6,1944,2078.29\n7,1944,2078.95\n8,1944,2079.61\n9,1944,2080.27\n10,1944,2080.93\n11,1944,2081.59\n12,1944,2082.25\n1,1945,2082.91\n2,1945,2083.57\n3,1945,2084.23\n4,1945,2084.89\n5,1945,2085.55\n6,1945,2086.21\n7,1945,2086.87\n8,1945,2087.53\n9,1945,2088.19\n10,1945,2088.85\n11,1945,2089.51\n12,1945,2090.17\n1,1946,2090.84\n2,1946,2091.50\n3,1946,2092.16\n4,1946,2092.82\n5,1946,2093.48\n6,1946,2094.15\n7,1946,2094.81\n8,1946,2095.47\n9,1946,2096.14\n10,1946,2096.80\n11,1946,2097.47\n12,1946,2098.13\n1,1947,2098.79\n2,1947,2099.46\n3,1947,2100.12\n4,1947,2100.79\n5,1947,2101.45\n6,1947,2102.12\n7,1947,2102.78\n8,1947,2103.94\n9,1947,2105.26\n10,1947,2106.66\n11,1947,2108.15\n12,1947,2109.77\n1,1948,2111.44\n2,1948,2113.15\n3,1948,2114.91\n4,1948,2116.67\n5,1948,2118.43\n6,1948,2120.20\n7,1948,2121.96\n8,1948,2123.73\n9,1948,2125.61\n10,1948,2127.54\n11,1948,2129.53\n12,1948,2131.55\n1,1949,2133.61\n2,1949,2135.69\n3,1949,2137.77\n4,1949,2139.86\n5,1949,2141.94\n6,1949,2144.03\n7,1949,2146.12\n8,1949,2147.95\n9,1949,2149.81\n10,1949,2151.72\n11,1949,2153.61\n12,1949,2155.54\n1,1950,2157.52\n2,1950,2159.44\n3,1950,2161.46\n4,1950,2163.48\n5,1950,2165.55\n6,1950,2167.64\n7,1950,2169.72\n8,1950,2171.82\n9,1950,2173.99\n10,1950,2176.35\n11,1950,2178.72\n12,1950,2181.19\n1,1951,2183.63\n2,1951,2186.06\n3,1951,2188.54\n4,1951,2191.10\n5,1951,2193.78\n6,1951,2196.61\n7,1951,2199.27\n8,1951,2202.13\n9,1951,2205.10\n10,1951,2208.09\n11,1951,2210.93\n12,1951,2213.80\n1,1952,2216.99\n2,1952,2219.89\n3,1952,2222.74\n4,1952,2225.69\n5,1952,2228.60\n6,1952,2231.70\n7,1952,2234.86\n8,1952,2238.23\n9,1952,2241.65\n10,1952,2244.84\n11,1952,2248.10\n12,1952,2251.56\n1,1953,2255.48\n2,1953,2259.17\n3,1953,2262.88\n4,1953,2266.67\n5,1953,2270.80\n6,1953,2274.89\n7,1953,2278.89\n8,1953,2282.77\n9,1953,2286.65\n10,1953,2290.06\n11,1953,2292.69\n12,1953,2295.44\n1,1954,2298.50\n2,1954,2300.76\n3,1954,2302.62\n4,1954,2304.60\n5,1954,2306.46\n6,1954,2307.92\n7,1954,2309.15\n8,1954,2310.54\n9,1954,2312.31\n10,1954,2314.26\n11,1954,2316.15\n12,1954,2317.94\n1,1955,2320.16\n2,1955,2322.52\n3,1955,2324.79\n4,1955,2327.27\n5,1955,2330.35\n6,1955,2333.17\n7,1955,2335.91\n8,1955,2339.02\n9,1955,2342.73\n10,1955,2346.77\n11,1955,2351.13\n12,1955,2355.52\n1,1956,2360.50\n2,1956,2365.24\n3,1956,2369.82\n4,1956,2374.26\n5,1956,2379.40\n6,1956,2384.58\n7,1956,2389.53\n8,1956,2394.13\n9,1956,2399.31\n10,1956,2404.99\n11,1956,2410.80\n12,1956,2416.81\n1,1957,2423.28\n2,1957,2429.56\n3,1957,2435.83\n4,1957,2442.08\n5,1957,2448.33\n6,1957,2454.58\n7,1957,2461.31\n8,1957,2467.79\n9,1957,2474.72\n10,1957,2482.00\n11,1957,2489.40\n12,1957,2496.27\n1,1958,2502.59\n2,1958,2507.68\n3,1958,2510.88\n4,1958,2513.60\n5,1958,2515.97\n6,1958,2517.87\n7,1958,2519.61\n8,1958,2521.53\n9,1958,2525.08\n10,1958,2530.21\n11,1958,2535.76\n12,1958,2541.40\n1,1959,2547.26\n2,1959,2553.25\n3,1959,2559.00\n4,1959,2564.97\n5,1959,2571.27\n6,1959,2577.36\n7,1959,2584.25\n8,1959,2591.14\n9,1959,2598.44\n10,1959,2607.19\n11,1959,2615.99\n12,1959,2625.04\n1,1960,2634.86\n2,1960,2644.41\n3,1960,2653.14\n4,1960,2660.45\n5,1960,2667.61\n6,1960,2674.93\n7,1960,2680.41\n8,1960,2685.55\n9,1960,2690.70\n10,1960,2696.26\n11,1960,2701.43\n12,1960,2706.76\n1,1961,2711.84\n2,1961,2716.90\n3,1961,2722.38\n4,1961,2727.80\n5,1961,2733.00\n6,1961,2738.22\n7,1961,2743.54\n8,1961,2748.66\n9,1961,2754.13\n10,1961,2759.37\n11,1961,2764.65\n12,1961,2770.37\n1,1962,2776.37\n2,1962,2782.66\n3,1962,2788.99\n4,1962,2795.32\n5,1962,2801.68\n6,1962,2807.96\n7,1962,2814.34\n8,1962,2821.19\n9,1962,2827.82\n10,1962,2834.37\n11,1962,2840.84\n12,1962,2847.54\n1,1963,2854.35\n2,1963,2861.28\n3,1963,2868.24\n4,1963,2875.15\n5,1963,2882.10\n6,1963,2889.13\n7,1963,2896.33\n8,1963,2904.01\n9,1963,2912.04\n10,1963,2920.24\n11,1963,2928.64\n12,1963,2937.23\n1,1964,2945.85\n2,1964,2954.49\n3,1964,2963.18\n4,1964,2971.92\n5,1964,2980.51\n6,1964,2989.16\n7,1964,2997.82\n8,1964,3006.47\n9,1964,3015.24\n10,1964,3024.11\n11,1964,3033.10\n12,1964,3042.30\n1,1965,3052.04\n2,1965,3061.73\n3,1965,3071.76\n4,1965,3081.82\n5,1965,3091.91\n6,1965,3101.93\n7,1965,3111.76\n8,1965,3121.71\n9,1965,3131.70\n10,1965,3141.93\n11,1965,3152.48\n12,1965,3163.23\n1,1966,3174.78\n2,1966,3186.92\n3,1966,3199.27\n4,1966,3211.51\n5,1966,3223.87\n6,1966,3236.33\n7,1966,3248.47\n8,1966,3261.47\n9,1966,3274.95\n10,1966,3289.60\n11,1966,3304.27\n12,1966,3318.92\n1,1967,3332.63\n2,1967,3345.74\n3,1967,3358.46\n4,1967,3370.38\n5,1967,3381.16\n6,1967,3391.31\n7,1967,3401.31\n8,1967,3413.25\n9,1967,3425.39\n10,1967,3438.01\n11,1967,3451.07\n12,1967,3464.67\n1,1968,3479.02\n2,1968,3493.52\n3,1968,3508.02\n4,1968,3523.13\n5,1968,3538.93\n6,1968,3555.62\n7,1968,3571.98\n8,1968,3587.78\n9,1968,3603.00\n10,1968,3618.58\n11,1968,3634.72\n12,1968,3651.22\n1,1969,3669.36\n2,1969,3688.13\n3,1969,3706.94\n4,1969,3725.54\n5,1969,3744.51\n6,1969,3763.35\n7,1969,3783.55\n8,1969,3805.62\n9,1969,3827.76\n10,1969,3850.37\n11,1969,3872.83\n12,1969,3896.20\n1,1970,3921.59\n2,1970,3947.31\n3,1970,3970.76\n4,1970,3992.70\n5,1970,4014.36\n6,1970,4037.24\n7,1970,4059.72\n8,1970,4081.54\n9,1970,4103.34\n10,1970,4124.27\n11,1970,4144.58\n12,1970,4162.82\n1,1971,4179.71\n2,1971,4195.18\n3,1971,4208.11\n4,1971,4219.96\n5,1971,4233.54\n6,1971,4248.14\n7,1971,4264.96\n8,1971,4284.15\n9,1971,4301.79\n10,1971,4318.60\n11,1971,4334.65\n12,1971,4349.89\n1,1972,4364.43\n2,1972,4376.72\n3,1972,4388.40\n4,1972,4402.04\n5,1972,4415.65\n6,1972,4429.22\n7,1972,4443.66\n8,1972,4458.39\n9,1972,4473.33\n10,1972,4490.70\n11,1972,4508.44\n12,1972,4526.40\n1,1973,4545.52\n2,1973,4566.01\n3,1973,4587.32\n4,1973,4610.60\n5,1973,4634.66\n6,1973,4659.22\n7,1973,4687.14\n8,1973,4718.42\n9,1973,4752.51\n10,1973,4785.34\n11,1973,4814.14\n12,1973,4845.55\n1,1974,4875.63\n2,1974,4907.20\n3,1974,4936.32\n4,1974,4969.06\n5,1974,5003.55\n6,1974,5037.87\n7,1974,5071.04\n8,1974,5102.94\n9,1974,5141.04\n10,1974,5175.57\n11,1974,5207.75\n12,1974,5240.17\n1,1975,5271.39\n2,1975,5298.89\n3,1975,5323.18\n4,1975,5347.53\n5,1975,5372.53\n6,1975,5395.94\n7,1975,5419.96\n8,1975,5447.64\n9,1975,5476.88\n10,1975,5506.18\n11,1975,5533.53\n12,1975,5558.80\n1,1976,5584.00\n2,1976,5606.66\n3,1976,5629.46\n4,1976,5652.92\n5,1976,5675.81\n6,1976,5700.41\n7,1976,5726.10\n8,1976,5751.06\n9,1976,5775.69\n10,1976,5800.14\n11,1976,5823.93\n12,1976,5846.98\n1,1977,5868.17\n2,1977,5890.77\n3,1977,5913.69\n4,1977,5936.36\n5,1977,5958.82\n6,1977,5983.45\n7,1977,6008.48\n8,1977,6034.47\n9,1977,6062.07\n10,1977,6091.43\n11,1977,6122.69\n12,1977,6153.82\n1,1978,6184.95\n2,1978,6218.14\n3,1978,6251.56\n4,1978,6284.33\n5,1978,6317.27\n6,1978,6351.01\n7,1978,6386.63\n8,1978,6423.94\n9,1978,6461.84\n10,1978,6504.11\n11,1978,6547.42\n12,1978,6594.56\n1,1979,6644.46\n2,1979,6696.23\n3,1979,6748.24\n4,1979,6801.55\n5,1979,6855.17\n6,1979,6910.07\n7,1979,6962.24\n8,1979,7015.85\n9,1979,7071.51\n10,1979,7131.97\n11,1979,7201.51\n12,1979,7272.26\n1,1980,7345.23\n2,1980,7418.68\n3,1980,7498.18\n4,1980,7593.16\n5,1980,7676.68\n6,1980,7731.57\n7,1980,7777.12\n8,1980,7829.36\n9,1980,7888.93\n10,1980,7956.44\n11,1980,8033.49\n12,1980,8125.41\n1,1981,8230.29\n2,1981,8333.31\n3,1981,8436.02\n4,1981,8529.94\n5,1981,8627.25\n6,1981,8744.44\n7,1981,8851.77\n8,1981,8962.05\n9,1981,9077.89\n10,1981,9189.09\n11,1981,9292.77\n12,1981,9376.87\n1,1982,9461.66\n2,1982,9558.48\n3,1982,9665.85\n4,1982,9767.99\n5,1982,9871.37\n6,1982,9970.82\n7,1982,10074.43\n8,1982,10169.72\n9,1982,10243.28\n10,1982,10310.89\n11,1982,10377.14\n12,1982,10446.92\n1,1983,10516.05\n2,1983,10584.93\n3,1983,10656.46\n4,1983,10730.61\n5,1983,10804.03\n6,1983,10877.77\n7,1983,10957.45\n8,1983,11040.36\n9,1983,11126.29\n10,1983,11209.74\n11,1983,11290.45\n12,1983,11372.87\n1,1984,11458.16\n2,1984,11543.14\n3,1984,11630.58\n4,1984,11722.85\n5,1984,11817.51\n6,1984,11914.32\n7,1984,12012.32\n8,1984,12113.62\n9,1984,12219.31\n10,1984,12324.91\n11,1984,12424.94\n12,1984,12514.09\n1,1985,12598.14\n2,1985,12679.61\n3,1985,12767.00\n4,1985,12857.64\n5,1985,12942.82\n6,1985,13023.50\n7,1985,13098.93\n8,1985,13176.21\n9,1985,13254.61\n10,1985,13333.03\n11,1985,13412.59\n12,1985,13493.51\n1,1986,13573.35\n2,1986,13653.32\n3,1986,13733.64\n4,1986,13808.72\n5,1986,13878.45\n6,1986,13949.58\n7,1986,14021.77\n8,1986,14089.89\n9,1986,14154.82\n10,1986,14216.28\n11,1986,14277.65\n12,1986,14341.30\n1,1987,14407.39\n2,1987,14472.58\n3,1987,14540.00\n4,1987,14607.73\n5,1987,14676.39\n6,1987,14745.61\n7,1987,14815.29\n8,1987,14885.54\n9,1987,14960.46\n10,1987,15040.25\n11,1987,15117.08\n12,1987,15188.76\n1,1988,15261.79\n2,1988,15335.69\n3,1988,15408.02\n4,1988,15481.21\n5,1988,15557.45\n6,1988,15638.61\n7,1988,15722.80\n8,1988,15810.98\n9,1988,15904.00\n10,1988,15999.95\n11,1988,16097.95\n12,1988,16202.05\n1,1989,16311.01\n2,1989,16423.42\n3,1989,16540.16\n4,1989,16661.73\n5,1989,16781.84\n6,1989,16899.73\n7,1989,17014.51\n8,1989,17126.24\n9,1989,17238.98\n10,1989,17350.32\n11,1989,17460.78\n12,1989,17572.68\n1,1990,17684.41\n2,1990,17797.00\n3,1990,17911.79\n4,1990,18029.71\n5,1990,18146.45\n6,1990,18263.50\n7,1990,18381.14\n8,1990,18497.86\n9,1990,18612.71\n10,1990,18726.86\n11,1990,18838.76\n12,1990,18949.59\n1,1991,19056.03\n2,1991,19154.80\n3,1991,19249.62\n4,1991,19344.42\n5,1991,19435.50\n6,1991,19523.93\n7,1991,19614.55\n8,1991,19705.76\n9,1991,19793.29\n10,1991,19879.39\n11,1991,19962.05\n12,1991,20037.91\n1,1992,20105.87\n2,1992,20169.54\n3,1992,20234.08\n4,1992,20302.20\n5,1992,20365.65\n6,1992,20427.26\n7,1992,20489.56\n8,1992,20544.37\n9,1992,20597.95\n10,1992,20647.90\n11,1992,20697.12\n12,1992,20751.10\n1,1993,20806.78\n2,1993,20858.80\n3,1993,20909.73\n4,1993,20961.13\n5,1993,21011.26\n6,1993,21063.09\n7,1993,21116.98\n8,1993,21170.48\n9,1993,21223.75\n10,1993,21275.93\n11,1993,21329.47\n12,1993,21384.58\n1,1994,21439.11\n2,1994,21492.35\n3,1994,21550.55\n4,1994,21613.41\n5,1994,21679.69\n6,1994,21754.49\n7,1994,21829.54\n8,1994,21908.31\n9,1994,21990.10\n10,1994,22074.76\n11,1994,22165.82\n12,1994,22263.53\n1,1995,22367.43\n2,1995,22473.86\n3,1995,22581.92\n4,1995,22689.75\n5,1995,22796.58\n6,1995,22904.30\n7,1995,23008.70\n8,1995,23112.62\n9,1995,23216.63\n10,1995,23318.78\n11,1995,23421.39\n12,1995,23526.00\n1,1996,23626.77\n2,1996,23725.22\n3,1996,23820.71\n4,1996,23919.17\n5,1996,24017.84\n6,1996,24118.31\n7,1996,24220.61\n8,1996,24324.56\n9,1996,24426.93\n10,1996,24530.54\n11,1996,24632.54\n12,1996,24735.79\n1,1997,24837.01\n2,1997,24941.11\n3,1997,25045.24\n4,1997,25152.52\n5,1997,25260.68\n6,1997,25366.98\n7,1997,25471.20\n8,1997,25578.39\n9,1997,25687.95\n10,1997,25793.91\n11,1997,25900.74\n12,1997,26011.68\n1,1998,26123.53\n2,1998,26233.25\n3,1998,26344.53\n4,1998,26454.95\n5,1998,26564.08\n6,1998,26674.76\n7,1998,26785.46\n8,1998,26896.18\n9,1998,27006.00\n10,1998,27109.75\n11,1998,27199.21\n12,1998,27299.17\n1,1999,27399.04\n2,1999,27498.13\n3,1999,27599.88\n4,1999,27702.00\n5,1999,27801.03\n6,1999,27905.28\n7,1999,28011.56\n8,1999,28117.77\n9,1999,28228.36\n10,1999,28338.45\n11,1999,28453.22\n12,1999,28573.44\n1,2000,28697.26\n2,2000,28824.48\n3,2000,28957.80\n4,2000,29095.10\n5,2000,29232.34\n6,2000,29373.38\n7,2000,29512.66\n8,2000,29659.24\n9,2000,29809.76\n10,2000,29958.81\n11,2000,30111.35\n12,2000,30266.17\n1,2001,30411.70\n2,2001,30542.22\n3,2001,30666.42\n4,2001,30779.38\n5,2001,30878.64\n6,2001,30971.79\n7,2001,31061.87\n8,2001,31152.72\n9,2001,31239.95\n10,2001,31308.68\n11,2001,31365.04\n12,2001,31413.91\n1,2002,31458.15\n2,2002,31501.41\n3,2002,31546.56\n4,2002,31593.62\n5,2002,31638.64\n6,2002,31684.25\n7,2002,31729.14\n8,2002,31773.56\n9,2002,31816.45\n10,2002,31859.67\n11,2002,31901.62\n12,2002,31934.32\n1,2003,31965.99\n2,2003,31997.15\n3,2003,32028.35\n4,2003,32058.51\n5,2003,32088.70\n6,2003,32117.31\n7,2003,32141.93\n8,2003,32166.04\n9,2003,32191.51\n10,2003,32216.72\n11,2003,32241.42\n12,2003,32266.41\n1,2004,32290.61\n2,2004,32314.29\n3,2004,32339.33\n4,2004,32364.66\n5,2004,32390.02\n6,2004,32417.55\n7,2004,32451.86\n8,2004,32487.82\n9,2004,32527.89\n10,2004,32572.62\n11,2004,32620.39\n12,2004,32676.66\n1,2005,32736.30\n2,2005,32799.86\n3,2005,32869.29\n4,2005,32944.34\n5,2005,33020.66\n6,2005,33098.81\n7,2005,33180.73\n8,2005,33269.76\n9,2005,33365.14\n10,2005,33460.23\n11,2005,33563.67\n12,2005,33672.20\n1,2006,33781.35\n2,2006,33900.71\n3,2006,34025.86\n4,2006,34153.74\n5,2006,34284.66\n6,2006,34419.52\n7,2006,34556.91\n8,2006,34699.46\n9,2006,34842.88\n10,2006,34982.54\n11,2006,35125.97\n12,2006,35270.57\n1,2007,35413.12\n2,2007,35560.09\n3,2007,35709.15\n4,2007,35856.15\n5,2007,36001.66\n6,2007,36143.57\n7,2007,36282.42\n8,2007,36428.16\n9,2007,36555.65\n10,2007,36674.16\n11,2007,36793.35\n12,2007,36893.61\n1,2008,36985.84\n2,2008,37070.60\n3,2008,37136.09\n4,2008,37175.09\n5,2008,37215.05\n6,2008,37268.70\n7,2008,37326.47\n8,2008,37377.17\n9,2008,37430.74\n10,2008,37465.99\n11,2008,37486.91\n12,2008,37492.85\n1,2009,37493.78\n2,2009,37497.84\n3,2009,37507.22\n4,2009,37513.78\n5,2009,37518.78\n6,2009,37524.41\n7,2009,37530.04\n8,2009,37535.67\n9,2009,37540.99\n10,2009,37544.74\n11,2009,37546.93\n12,2009,37548.50\n1,2010,37550.06\n2,2010,37551.94\n3,2010,37555.38\n4,2010,37560.08\n5,2010,37565.08\n6,2010,37570.09\n7,2010,37573.85\n8,2010,37578.86\n9,2010,37583.87\n10,2010,37588.57\n11,2010,37592.64\n12,2010,37597.03\n1,2011,37601.41\n2,2011,37606.11\n3,2011,37610.19\n4,2011,37613.32\n5,2011,37615.20\n6,2011,37616.45\n7,2011,37617.71\n8,2011,37618.96\n9,2011,37619.59\n10,2011,37619.90\n11,2011,37620.53\n12,2011,37620.84\n1,2012,37621.16\n2,2012,37622.10\n3,2012,37624.92\n4,2012,37627.43\n5,2012,37629.94\n6,2012,37632.76\n7,2012,37635.58\n8,2012,37638.72\n9,2012,37641.85\n10,2012,37645.30\n11,2012,37648.44\n12,2012,37651.26\n1,2013,37653.46\n2,2013,37655.66\n3,2013,37658.80\n4,2013,37661.62\n5,2013,37663.50\n6,2013,37664.76\n7,2013,37666.33\n8,2013,37667.58\n9,2013,37668.84\n10,2013,37669.47\n11,2013,37671.04\n12,2013,37673.23\n1,2014,37675.43\n2,2014,37676.69\n3,2014,37678.26\n4,2014,37679.83\n5,2014,37680.77\n6,2014,37681.71\n7,2014,37682.97\n8,2014,37683.91\n9,2014,37684.85\n10,2014,37685.48\n11,2014,37686.11\n12,2014,37686.74\n1,2015,37687.68\n2,2015,37688.62\n3,2015,37689.25\n4,2015,37690.19\n5,2015,37690.82\n6,2015,37691.45\n7,2015,37692.07\n8,2015,37693.02\n9,2015,37695.22\n10,2015,37695.84\n11,2015,37696.47\n12,2015,37700.24\n1,2016,37707.47\n2,2016,37715.64\n3,2016,37725.38\n4,2016,37734.50\n5,2016,37741.73\n6,2016,37750.22\n7,2016,37758.72\n8,2016,37768.16\n9,2016,37777.60\n10,2016,37786.73\n11,2016,37797.12\n12,2016,37811.29\n1,2017,37827.36\n2,2017,37843.44\n3,2017,37859.84\n4,2017,37883.18\n5,2017,37908.44\n6,2017,37936.56\n7,2017,37967.54\n8,2017,38001.39\n9,2017,38033.38\n10,2017,38066.02\n11,2017,38099.96\n12,2017,38139.02\n1,2018,38180.97\n2,2018,38225.83\n3,2018,38275.84\n4,2018,38330.07\n5,2018,38386.29\n6,2018,38445.78\n7,2018,38506.66\n8,2018,38569.55\n9,2018,38634.80\n10,2018,38703.37\n11,2018,38775.94\n12,2018,38851.23\n1,2019,38927.96\n2,2019,39004.85\n3,2019,39082.53\n4,2019,39160.70\n5,2019,39238.37\n6,2019,39315.21\n7,2019,39386.30\n8,2019,39455.23\n9,2019,39519.34\n10,2019,39581.59\n11,2019,39636.01\n12,2019,39686.88\n1,2020,39737.81\n2,2020,39788.14\n3,2020,39838.54\n4,2020,39848.17\n5,2020,39852.82\n6,2020,39857.13\n7,2020,39862.45\n8,2020,39866.77\n9,2020,39870.09\n10,2020,39873.74\n11,2020,39877.07\n12,2020,39880.06\n1,2021,39883.05\n2,2021,39885.71\n3,2021,39887.04\n4,2021,39888.03\n5,2021,39888.70\n6,2021,39889.36\n7,2021,39890.69\n8,2021,39892.36\n9,2021,39894.02\n10,2021,39895.35\n11,2021,39897.01\n12,2021,39898.67\n1,2022,39900.67\n2,2022,39905.66\n3,2022,39916.63\n4,2022,39931.27\n5,2022,39956.56\n6,2022,39989.19\n7,2022,40038.84\n8,2022,40113.25\n9,2022,40201.16\n10,2022,40306.02\n11,2022,40430.97\n12,2022,40570.79\n1,2023,40714.48\n2,2023,40868.52\n3,2023,41026.88\n4,2023,41187.23\n5,2023,41356.10\n6,2023,41533.24\n7,2023,41711.83\n8,2023,41894.32\n9,2023,42079.35\n10,2023,42265.90\n11,2023,42453.99\n12,2023,42640.43\n1,2024,42826.63\n2,2024,43012.92\n3,2024,43200.75\n4,2024,43389.39\n5,2024,43578.86\n6,2024,43769.51\n7,2024,43960.64\n8,2024,44151.14\n9,2024,44336.94\n10,2024,44511.33\n11,2024,44678.62\n12,2024,44843.19\n1,2025,45002.75\n2,2025,45160.64\n3,2025,45319.45\n4,2025,45478.07\n5,2025,45637.62\n6,2025,45799.26\n7,2025,45960.70\n8,2025,46123.48\n9,2025,46281.83\n10,2025,46433.02\n11,2025,46580.83\n12,2025,46727.56\n`,
        'us_inflation': `1,1871,12.464\n2,1871,12.845\n3,1871,13.035\n4,1871,12.559\n5,1871,12.274\n6,1871,12.083\n7,1871,12.083\n8,1871,11.893\n9,1871,12.179\n10,1871,12.369\n11,1871,12.369\n12,1871,12.654\n1,1872,12.654\n2,1872,12.654\n3,1872,12.845\n4,1872,13.130\n5,1872,13.130\n6,1872,13.035\n7,1872,12.845\n8,1872,12.940\n9,1872,13.035\n10,1872,12.749\n11,1872,13.130\n12,1872,12.940\n1,1873,12.940\n2,1873,13.225\n3,1873,13.225\n4,1873,13.225\n5,1873,12.940\n6,1873,12.559\n7,1873,12.559\n8,1873,12.559\n9,1873,12.559\n10,1873,12.274\n11,1873,11.893\n12,1873,12.179\n1,1874,12.369\n2,1874,12.369\n3,1874,12.369\n4,1874,12.179\n5,1874,12.083\n6,1874,11.798\n7,1874,11.893\n8,1874,11.798\n9,1874,11.798\n10,1874,11.608\n11,1874,11.513\n12,1874,11.513\n1,1875,11.513\n2,1875,11.513\n3,1875,11.513\n4,1875,11.608\n5,1875,11.322\n6,1875,11.132\n7,1875,11.132\n8,1875,11.227\n9,1875,11.132\n10,1875,11.132\n11,1875,11.037\n12,1875,10.942\n1,1876,10.847\n2,1876,10.847\n3,1876,10.847\n4,1876,10.751\n5,1876,10.371\n6,1876,10.085\n7,1876,10.085\n8,1876,10.181\n9,1876,10.276\n10,1876,10.466\n11,1876,10.561\n12,1876,10.751\n1,1877,10.942\n2,1877,10.656\n3,1877,10.181\n4,1877,10.466\n5,1877,10.656\n6,1877,10.085\n7,1877,10.181\n8,1877,9.800\n9,1877,9.705\n10,1877,9.705\n11,1877,9.515\n12,1877,9.515\n1,1878,9.229\n2,1878,9.134\n3,1878,8.944\n4,1878,8.849\n5,1878,8.563\n6,1878,8.373\n7,1878,8.468\n8,1878,8.563\n9,1878,8.563\n10,1878,8.468\n11,1878,8.373\n12,1878,8.183\n1,1879,8.278\n2,1879,8.373\n3,1879,8.278\n4,1879,8.183\n5,1879,8.183\n6,1879,8.087\n7,1879,8.183\n8,1879,8.183\n9,1879,8.468\n10,1879,8.944\n11,1879,9.419\n12,1879,9.705\n1,1880,9.990\n2,1880,9.990\n3,1880,10.085\n4,1880,9.705\n5,1880,9.419\n6,1880,9.229\n7,1880,9.229\n8,1880,9.229\n9,1880,9.324\n10,1880,9.324\n11,1880,9.419\n12,1880,9.515\n1,1881,9.419\n2,1881,9.515\n3,1881,9.515\n4,1881,9.610\n5,1881,9.515\n6,1881,9.515\n7,1881,9.610\n8,1881,9.800\n9,1881,10.181\n10,1881,10.276\n11,1881,10.181\n12,1881,10.181\n1,1882,10.181\n2,1882,10.276\n3,1882,10.276\n4,1882,10.371\n5,1882,10.466\n6,1882,10.561\n7,1882,10.466\n8,1882,10.561\n9,1882,10.276\n10,1882,10.181\n11,1882,10.085\n12,1882,9.990\n1,1883,9.990\n2,1883,10.085\n3,1883,9.990\n4,1883,9.895\n5,1883,9.800\n6,1883,9.515\n7,1883,9.324\n8,1883,9.324\n9,1883,9.229\n10,1883,9.229\n11,1883,9.134\n12,1883,9.229\n1,1884,9.229\n2,1884,9.229\n3,1884,9.229\n4,1884,9.039\n5,1884,8.849\n6,1884,8.849\n7,1884,8.753\n8,1884,8.753\n9,1884,8.658\n10,1884,8.563\n11,1884,8.373\n12,1884,8.278\n1,1885,8.278\n2,1885,8.373\n3,1885,8.183\n4,1885,8.278\n5,1885,8.087\n6,1885,7.897\n7,1885,7.992\n8,1885,7.992\n9,1885,7.897\n10,1885,7.897\n11,1885,7.992\n12,1885,8.183\n1,1886,7.992\n2,1886,7.992\n3,1886,7.897\n4,1886,7.802\n5,1886,7.612\n6,1886,7.517\n7,1886,7.612\n8,1886,7.707\n9,1886,7.707\n10,1886,7.707\n11,1886,7.707\n12,1886,7.802\n1,1887,7.992\n2,1887,8.087\n3,1887,8.087\n4,1887,8.087\n5,1887,8.087\n6,1887,7.992\n7,1887,7.897\n8,1887,7.992\n9,1887,7.897\n10,1887,7.992\n11,1887,8.087\n12,1887,8.278\n1,1888,8.373\n2,1888,8.278\n3,1888,8.278\n4,1888,8.183\n5,1888,8.087\n6,1888,7.992\n7,1888,8.087\n8,1888,8.087\n9,1888,8.087\n10,1888,8.183\n11,1888,8.278\n12,1888,8.278\n1,1889,7.992\n2,1889,7.897\n3,1889,7.802\n4,1889,7.802\n5,1889,7.612\n6,1889,7.612\n7,1889,7.612\n8,1889,7.612\n9,1889,7.707\n10,1889,7.707\n11,1889,7.707\n12,1889,7.802\n1,1890,7.612\n2,1890,7.612\n3,1890,7.612\n4,1890,7.612\n5,1890,7.707\n6,1890,7.707\n7,1890,7.707\n8,1890,7.992\n9,1890,8.087\n10,1890,8.087\n11,1890,7.897\n12,1890,7.897\n1,1891,7.802\n2,1891,7.897\n3,1891,7.992\n4,1891,8.087\n5,1891,7.992\n6,1891,7.802\n7,1891,7.707\n8,1891,7.707\n9,1891,7.612\n10,1891,7.612\n11,1891,7.517\n12,1891,7.517\n1,1892,7.326\n2,1892,7.326\n3,1892,7.136\n4,1892,7.041\n5,1892,7.041\n6,1892,7.041\n7,1892,7.231\n8,1892,7.326\n9,1892,7.326\n10,1892,7.326\n11,1892,7.517\n12,1892,7.612\n1,1893,7.897\n2,1893,7.992\n3,1893,7.802\n4,1893,7.707\n5,1893,7.612\n6,1893,7.421\n7,1893,7.231\n8,1893,6.946\n9,1893,7.231\n10,1893,7.326\n11,1893,7.136\n12,1893,7.041\n1,1894,6.850\n2,1894,6.755\n3,1894,6.565\n4,1894,6.565\n5,1894,6.565\n6,1894,6.565\n7,1894,6.565\n8,1894,6.755\n9,1894,6.850\n10,1894,6.660\n11,1894,6.660\n12,1894,6.565\n1,1895,6.565\n2,1895,6.565\n3,1895,6.565\n4,1895,6.850\n5,1895,6.946\n6,1895,7.041\n7,1895,6.946\n8,1895,6.850\n9,1895,6.850\n10,1895,6.850\n11,1895,6.850\n12,1895,6.755\n1,1896,6.660\n2,1896,6.565\n3,1896,6.565\n4,1896,6.470\n5,1896,6.375\n6,1896,6.280\n7,1896,6.280\n8,1896,6.280\n9,1896,6.280\n10,1896,6.470\n11,1896,6.660\n12,1896,6.660\n1,1897,6.470\n2,1897,6.470\n3,1897,6.470\n4,1897,6.375\n5,1897,6.280\n6,1897,6.280\n7,1897,6.280\n8,1897,6.565\n9,1897,6.755\n10,1897,6.660\n11,1897,6.660\n12,1897,6.660\n1,1898,6.660\n2,1898,6.755\n3,1898,6.755\n4,1898,6.755\n5,1898,7.231\n6,1898,6.755\n7,1898,6.660\n8,1898,6.660\n9,1898,6.660\n10,1898,6.660\n11,1898,6.660\n12,1898,6.755\n1,1899,6.755\n2,1899,6.946\n3,1899,6.946\n4,1899,7.041\n5,1899,7.041\n6,1899,7.136\n7,1899,7.231\n8,1899,7.326\n9,1899,7.612\n10,1899,7.707\n11,1899,7.802\n12,1899,7.897\n1,1900,7.897\n2,1900,7.992\n3,1900,7.992\n4,1900,7.992\n5,1900,7.802\n6,1900,7.707\n7,1900,7.802\n8,1900,7.707\n9,1900,7.802\n10,1900,7.707\n11,1900,7.707\n12,1900,7.612\n1,1901,7.707\n2,1901,7.612\n3,1901,7.612\n4,1901,7.517\n5,1901,7.517\n6,1901,7.517\n7,1901,7.612\n8,1901,7.707\n9,1901,7.802\n10,1901,7.802\n11,1901,7.897\n12,1901,7.992\n1,1902,7.897\n2,1902,7.897\n3,1902,7.897\n4,1902,7.992\n5,1902,8.087\n6,1902,8.183\n7,1902,8.183\n8,1902,8.087\n9,1902,8.183\n10,1902,8.753\n11,1902,8.468\n12,1902,8.563\n1,1903,8.658\n2,1903,8.658\n3,1903,8.373\n4,1903,8.373\n5,1903,8.183\n6,1903,8.183\n7,1903,8.183\n8,1903,8.183\n9,1903,8.278\n10,1903,8.183\n11,1903,8.087\n12,1903,8.087\n1,1904,8.278\n2,1904,8.468\n3,1904,8.373\n4,1904,8.278\n5,1904,8.087\n6,1904,8.087\n7,1904,8.087\n8,1904,8.183\n9,1904,8.278\n10,1904,8.278\n11,1904,8.468\n12,1904,8.468\n1,1905,8.468\n2,1905,8.468\n3,1905,8.373\n4,1905,8.373\n5,1905,8.278\n6,1905,8.278\n7,1905,8.278\n8,1905,8.373\n9,1905,8.278\n10,1905,8.278\n11,1905,8.373\n12,1905,8.468\n1,1906,8.468\n2,1906,8.468\n3,1906,8.468\n4,1906,8.468\n5,1906,8.563\n6,1906,8.563\n7,1906,8.278\n8,1906,8.468\n9,1906,8.563\n10,1906,8.753\n11,1906,8.849\n12,1906,8.944\n1,1907,8.849\n2,1907,9.039\n3,1907,8.944\n4,1907,8.944\n5,1907,9.134\n6,1907,9.229\n7,1907,9.229\n8,1907,9.229\n9,1907,9.229\n10,1907,9.324\n11,1907,8.944\n12,1907,8.753\n1,1908,8.658\n2,1908,8.563\n3,1908,8.563\n4,1908,8.658\n5,1908,8.658\n6,1908,8.658\n7,1908,8.753\n8,1908,8.753\n9,1908,8.753\n10,1908,8.849\n11,1908,8.944\n12,1908,9.039\n1,1909,8.944\n2,1909,9.039\n3,1909,9.039\n4,1909,9.229\n5,1909,9.324\n6,1909,9.419\n7,1909,9.419\n8,1909,9.515\n9,1909,9.610\n10,1909,9.800\n11,1909,9.895\n12,1909,9.990\n1,1910,9.895\n2,1910,9.895\n3,1910,10.085\n4,1910,10.181\n5,1910,9.990\n6,1910,9.895\n7,1910,9.895\n8,1910,9.800\n9,1910,9.705\n10,1910,9.419\n11,1910,9.229\n12,1910,9.229\n1,1911,9.229\n2,1911,8.944\n3,1911,9.039\n4,1911,8.753\n5,1911,8.753\n6,1911,8.753\n7,1911,8.849\n8,1911,9.134\n9,1911,9.229\n10,1911,9.229\n11,1911,9.134\n12,1911,9.039\n1,1912,9.134\n2,1912,9.229\n3,1912,9.419\n4,1912,9.705\n5,1912,9.705\n6,1912,9.610\n7,1912,9.610\n8,1912,9.705\n9,1912,9.800\n10,1912,9.800\n11,1912,9.800\n12,1912,9.705\n1,1913,9.800\n2,1913,9.800\n3,1913,9.800\n4,1913,9.800\n5,1913,9.700\n6,1913,9.800\n7,1913,9.900\n8,1913,9.900\n9,1913,10.000\n10,1913,10.000\n11,1913,10.100\n12,1913,10.000\n1,1914,10.000\n2,1914,9.900\n3,1914,9.900\n4,1914,9.800\n5,1914,9.900\n6,1914,9.900\n7,1914,10.000\n8,1914,10.200\n9,1914,10.200\n10,1914,10.100\n11,1914,10.200\n12,1914,10.100\n1,1915,10.100\n2,1915,10.000\n3,1915,9.900\n4,1915,10.000\n5,1915,10.100\n6,1915,10.100\n7,1915,10.100\n8,1915,10.100\n9,1915,10.100\n10,1915,10.200\n11,1915,10.300\n12,1915,10.300\n1,1916,10.400\n2,1916,10.400\n3,1916,10.500\n4,1916,10.600\n5,1916,10.700\n6,1916,10.800\n7,1916,10.800\n8,1916,10.900\n9,1916,11.100\n10,1916,11.300\n11,1916,11.500\n12,1916,11.600\n1,1917,11.700\n2,1917,12.000\n3,1917,12.000\n4,1917,12.600\n5,1917,12.800\n6,1917,13.000\n7,1917,12.800\n8,1917,13.000\n9,1917,13.300\n10,1917,13.500\n11,1917,13.500\n12,1917,13.700\n1,1918,14.000\n2,1918,14.100\n3,1918,14.000\n4,1918,14.200\n5,1918,14.500\n6,1918,14.700\n7,1918,15.100\n8,1918,15.400\n9,1918,15.700\n10,1918,16.000\n11,1918,16.300\n12,1918,16.500\n1,1919,16.500\n2,1919,16.200\n3,1919,16.400\n4,1919,16.700\n5,1919,16.900\n6,1919,16.900\n7,1919,17.400\n8,1919,17.700\n9,1919,17.800\n10,1919,18.100\n11,1919,18.500\n12,1919,18.900\n1,1920,19.300\n2,1920,19.500\n3,1920,19.700\n4,1920,20.300\n5,1920,20.600\n6,1920,20.900\n7,1920,20.800\n8,1920,20.300\n9,1920,20.000\n10,1920,19.900\n11,1920,19.800\n12,1920,19.400\n1,1921,19.000\n2,1921,18.400\n3,1921,18.300\n4,1921,18.100\n5,1921,17.700\n6,1921,17.600\n7,1921,17.700\n8,1921,17.700\n9,1921,17.500\n10,1921,17.500\n11,1921,17.400\n12,1921,17.300\n1,1922,16.900\n2,1922,16.900\n3,1922,16.700\n4,1922,16.700\n5,1922,16.700\n6,1922,16.700\n7,1922,16.800\n8,1922,16.600\n9,1922,16.600\n10,1922,16.700\n11,1922,16.800\n12,1922,16.900\n1,1923,16.800\n2,1923,16.800\n3,1923,16.800\n4,1923,16.900\n5,1923,16.900\n6,1923,17.000\n7,1923,17.200\n8,1923,17.100\n9,1923,17.200\n10,1923,17.300\n11,1923,17.300\n12,1923,17.300\n1,1924,17.300\n2,1924,17.200\n3,1924,17.100\n4,1924,17.000\n5,1924,17.000\n6,1924,17.000\n7,1924,17.100\n8,1924,17.000\n9,1924,17.100\n10,1924,17.200\n11,1924,17.200\n12,1924,17.300\n1,1925,17.300\n2,1925,17.200\n3,1925,17.300\n4,1925,17.200\n5,1925,17.300\n6,1925,17.500\n7,1925,17.700\n8,1925,17.700\n9,1925,17.700\n10,1925,17.700\n11,1925,18.000\n12,1925,17.900\n1,1926,17.900\n2,1926,17.900\n3,1926,17.800\n4,1926,17.900\n5,1926,17.800\n6,1926,17.700\n7,1926,17.500\n8,1926,17.400\n9,1926,17.500\n10,1926,17.600\n11,1926,17.700\n12,1926,17.700\n1,1927,17.500\n2,1927,17.400\n3,1927,17.300\n4,1927,17.300\n5,1927,17.400\n6,1927,17.600\n7,1927,17.300\n8,1927,17.200\n9,1927,17.300\n10,1927,17.400\n11,1927,17.300\n12,1927,17.300\n1,1928,17.300\n2,1928,17.100\n3,1928,17.100\n4,1928,17.100\n5,1928,17.200\n6,1928,17.100\n7,1928,17.100\n8,1928,17.100\n9,1928,17.300\n10,1928,17.200\n11,1928,17.200\n12,1928,17.100\n1,1929,17.100\n2,1929,17.100\n3,1929,17.000\n4,1929,16.900\n5,1929,17.000\n6,1929,17.100\n7,1929,17.300\n8,1929,17.300\n9,1929,17.300\n10,1929,17.300\n11,1929,17.300\n12,1929,17.200\n1,1930,17.100\n2,1930,17.000\n3,1930,16.900\n4,1930,17.000\n5,1930,16.900\n6,1930,16.800\n7,1930,16.600\n8,1930,16.500\n9,1930,16.600\n10,1930,16.500\n11,1930,16.400\n12,1930,16.100\n1,1931,15.900\n2,1931,15.700\n3,1931,15.600\n4,1931,15.500\n5,1931,15.300\n6,1931,15.100\n7,1931,15.100\n8,1931,15.100\n9,1931,15.000\n10,1931,14.900\n11,1931,14.700\n12,1931,14.600\n1,1932,14.300\n2,1932,14.100\n3,1932,14.000\n4,1932,13.900\n5,1932,13.700\n6,1932,13.600\n7,1932,13.600\n8,1932,13.500\n9,1932,13.400\n10,1932,13.300\n11,1932,13.200\n12,1932,13.100\n1,1933,12.900\n2,1933,12.700\n3,1933,12.600\n4,1933,12.600\n5,1933,12.600\n6,1933,12.700\n7,1933,13.100\n8,1933,13.200\n9,1933,13.200\n10,1933,13.200\n11,1933,13.200\n12,1933,13.200\n1,1934,13.200\n2,1934,13.300\n3,1934,13.300\n4,1934,13.300\n5,1934,13.300\n6,1934,13.400\n7,1934,13.400\n8,1934,13.400\n9,1934,13.600\n10,1934,13.500\n11,1934,13.500\n12,1934,13.400\n1,1935,13.600\n2,1935,13.700\n3,1935,13.700\n4,1935,13.800\n5,1935,13.800\n6,1935,13.700\n7,1935,13.700\n8,1935,13.700\n9,1935,13.700\n10,1935,13.700\n11,1935,13.800\n12,1935,13.800\n1,1936,13.800\n2,1936,13.800\n3,1936,13.700\n4,1936,13.700\n5,1936,13.700\n6,1936,13.800\n7,1936,13.900\n8,1936,14.000\n9,1936,14.000\n10,1936,14.000\n11,1936,14.000\n12,1936,14.000\n1,1937,14.100\n2,1937,14.100\n3,1937,14.200\n4,1937,14.300\n5,1937,14.400\n6,1937,14.400\n7,1937,14.500\n8,1937,14.500\n9,1937,14.600\n10,1937,14.600\n11,1937,14.500\n12,1937,14.400\n1,1938,14.200\n2,1938,14.100\n3,1938,14.100\n4,1938,14.200\n5,1938,14.100\n6,1938,14.100\n7,1938,14.100\n8,1938,14.100\n9,1938,14.100\n10,1938,14.000\n11,1938,14.000\n12,1938,14.000\n1,1939,14.000\n2,1939,13.900\n3,1939,13.900\n4,1939,13.800\n5,1939,13.800\n6,1939,13.800\n7,1939,13.800\n8,1939,13.800\n9,1939,14.100\n10,1939,14.000\n11,1939,14.000\n12,1939,14.000\n1,1940,13.900\n2,1940,14.000\n3,1940,14.000\n4,1940,14.000\n5,1940,14.000\n6,1940,14.100\n7,1940,14.000\n8,1940,14.000\n9,1940,14.000\n10,1940,14.000\n11,1940,14.000\n12,1940,14.100\n1,1941,14.100\n2,1941,14.100\n3,1941,14.200\n4,1941,14.300\n5,1941,14.400\n6,1941,14.700\n7,1941,14.700\n8,1941,14.900\n9,1941,15.100\n10,1941,15.300\n11,1941,15.400\n12,1941,15.500\n1,1942,15.700\n2,1942,15.800\n3,1942,16.000\n4,1942,16.100\n5,1942,16.300\n6,1942,16.300\n7,1942,16.400\n8,1942,16.500\n9,1942,16.500\n10,1942,16.700\n11,1942,16.800\n12,1942,16.900\n1,1943,16.900\n2,1943,16.900\n3,1943,17.200\n4,1943,17.400\n5,1943,17.500\n6,1943,17.500\n7,1943,17.400\n8,1943,17.300\n9,1943,17.400\n10,1943,17.400\n11,1943,17.400\n12,1943,17.400\n1,1944,17.400\n2,1944,17.400\n3,1944,17.400\n4,1944,17.500\n5,1944,17.500\n6,1944,17.600\n7,1944,17.700\n8,1944,17.700\n9,1944,17.700\n10,1944,17.700\n11,1944,17.700\n12,1944,17.800\n1,1945,17.800\n2,1945,17.800\n3,1945,17.800\n4,1945,17.800\n5,1945,17.900\n6,1945,18.100\n7,1945,18.100\n8,1945,18.100\n9,1945,18.100\n10,1945,18.100\n11,1945,18.100\n12,1945,18.200\n1,1946,18.200\n2,1946,18.100\n3,1946,18.300\n4,1946,18.400\n5,1946,18.500\n6,1946,18.700\n7,1946,19.800\n8,1946,20.200\n9,1946,20.400\n10,1946,20.800\n11,1946,21.300\n12,1946,21.500\n1,1947,21.480\n2,1947,21.620\n3,1947,22.000\n4,1947,22.000\n5,1947,21.950\n6,1947,22.080\n7,1947,22.230\n8,1947,22.400\n9,1947,22.840\n10,1947,22.910\n11,1947,23.060\n12,1947,23.410\n1,1948,23.680\n2,1948,23.670\n3,1948,23.500\n4,1948,23.820\n5,1948,24.010\n6,1948,24.150\n7,1948,24.400\n8,1948,24.430\n9,1948,24.360\n10,1948,24.310\n11,1948,24.160\n12,1948,24.050\n1,1949,24.010\n2,1949,23.910\n3,1949,23.910\n4,1949,23.920\n5,1949,23.910\n6,1949,23.920\n7,1949,23.700\n8,1949,23.700\n9,1949,23.750\n10,1949,23.670\n11,1949,23.700\n12,1949,23.610\n1,1950,23.510\n2,1950,23.610\n3,1950,23.640\n4,1950,23.650\n5,1950,23.770\n6,1950,23.880\n7,1950,24.070\n8,1950,24.200\n9,1950,24.340\n10,1950,24.500\n11,1950,24.600\n12,1950,24.980\n1,1951,25.380\n2,1951,25.830\n3,1951,25.880\n4,1951,25.920\n5,1951,25.990\n6,1951,25.930\n7,1951,25.910\n8,1951,25.860\n9,1951,26.030\n10,1951,26.160\n11,1951,26.320\n12,1951,26.470\n1,1952,26.450\n2,1952,26.410\n3,1952,26.390\n4,1952,26.460\n5,1952,26.470\n6,1952,26.530\n7,1952,26.680\n8,1952,26.690\n9,1952,26.630\n10,1952,26.690\n11,1952,26.690\n12,1952,26.710\n1,1953,26.640\n2,1953,26.590\n3,1953,26.630\n4,1953,26.690\n5,1953,26.700\n6,1953,26.770\n7,1953,26.790\n8,1953,26.850\n9,1953,26.890\n10,1953,26.950\n11,1953,26.850\n12,1953,26.870\n1,1954,26.940\n2,1954,26.990\n3,1954,26.930\n4,1954,26.860\n5,1954,26.930\n6,1954,26.940\n7,1954,26.860\n8,1954,26.850\n9,1954,26.810\n10,1954,26.720\n11,1954,26.780\n12,1954,26.770\n1,1955,26.770\n2,1955,26.820\n3,1955,26.790\n4,1955,26.790\n5,1955,26.770\n6,1955,26.710\n7,1955,26.760\n8,1955,26.720\n9,1955,26.850\n10,1955,26.820\n11,1955,26.880\n12,1955,26.870\n1,1956,26.830\n2,1956,26.860\n3,1956,26.890\n4,1956,26.930\n5,1956,27.030\n6,1956,27.150\n7,1956,27.290\n8,1956,27.310\n9,1956,27.350\n10,1956,27.510\n11,1956,27.510\n12,1956,27.630\n1,1957,27.670\n2,1957,27.800\n3,1957,27.860\n4,1957,27.930\n5,1957,28.000\n6,1957,28.110\n7,1957,28.190\n8,1957,28.280\n9,1957,28.320\n10,1957,28.320\n11,1957,28.410\n12,1957,28.470\n1,1958,28.640\n2,1958,28.700\n3,1958,28.870\n4,1958,28.940\n5,1958,28.940\n6,1958,28.910\n7,1958,28.890\n8,1958,28.940\n9,1958,28.910\n10,1958,28.910\n11,1958,28.950\n12,1958,28.970\n1,1959,29.010\n2,1959,29.000\n3,1959,28.970\n4,1959,28.980\n5,1959,29.040\n6,1959,29.110\n7,1959,29.150\n8,1959,29.180\n9,1959,29.250\n10,1959,29.350\n11,1959,29.350\n12,1959,29.410\n1,1960,29.370\n2,1960,29.410\n3,1960,29.410\n4,1960,29.540\n5,1960,29.570\n6,1960,29.610\n7,1960,29.550\n8,1960,29.610\n9,1960,29.610\n10,1960,29.750\n11,1960,29.780\n12,1960,29.810\n1,1961,29.840\n2,1961,29.840\n3,1961,29.840\n4,1961,29.810\n5,1961,29.840\n6,1961,29.840\n7,1961,29.920\n8,1961,29.940\n9,1961,29.980\n10,1961,29.980\n11,1961,29.980\n12,1961,30.010\n1,1962,30.040\n2,1962,30.110\n3,1962,30.170\n4,1962,30.210\n5,1962,30.240\n6,1962,30.210\n7,1962,30.220\n8,1962,30.280\n9,1962,30.420\n10,1962,30.380\n11,1962,30.380\n12,1962,30.380\n1,1963,30.440\n2,1963,30.480\n3,1963,30.510\n4,1963,30.480\n5,1963,30.510\n6,1963,30.610\n7,1963,30.690\n8,1963,30.750\n9,1963,30.720\n10,1963,30.750\n11,1963,30.780\n12,1963,30.880\n1,1964,30.940\n2,1964,30.910\n3,1964,30.940\n4,1964,30.950\n5,1964,30.980\n6,1964,31.010\n7,1964,31.020\n8,1964,31.050\n9,1964,31.080\n10,1964,31.120\n11,1964,31.210\n12,1964,31.250\n1,1965,31.280\n2,1965,31.280\n3,1965,31.310\n4,1965,31.380\n5,1965,31.480\n6,1965,31.610\n7,1965,31.580\n8,1965,31.550\n9,1965,31.620\n10,1965,31.650\n11,1965,31.750\n12,1965,31.850\n1,1966,31.880\n2,1966,32.080\n3,1966,32.180\n4,1966,32.280\n5,1966,32.350\n6,1966,32.380\n7,1966,32.450\n8,1966,32.650\n9,1966,32.750\n10,1966,32.850\n11,1966,32.880\n12,1966,32.920\n1,1967,32.900\n2,1967,33.000\n3,1967,33.000\n4,1967,33.100\n5,1967,33.100\n6,1967,33.300\n7,1967,33.400\n8,1967,33.500\n9,1967,33.600\n10,1967,33.700\n11,1967,33.900\n12,1967,34.000\n1,1968,34.100\n2,1968,34.200\n3,1968,34.300\n4,1968,34.400\n5,1968,34.500\n6,1968,34.700\n7,1968,34.900\n8,1968,35.000\n9,1968,35.100\n10,1968,35.300\n11,1968,35.400\n12,1968,35.600\n1,1969,35.700\n2,1969,35.800\n3,1969,36.100\n4,1969,36.300\n5,1969,36.400\n6,1969,36.600\n7,1969,36.800\n8,1969,36.900\n9,1969,37.100\n10,1969,37.300\n11,1969,37.500\n12,1969,37.700\n1,1970,37.900\n2,1970,38.100\n3,1970,38.300\n4,1970,38.500\n5,1970,38.600\n6,1970,38.800\n7,1970,38.900\n8,1970,39.000\n9,1970,39.200\n10,1970,39.400\n11,1970,39.600\n12,1970,39.800\n1,1971,39.900\n2,1971,39.900\n3,1971,40.000\n4,1971,40.100\n5,1971,40.300\n6,1971,40.500\n7,1971,40.600\n8,1971,40.700\n9,1971,40.800\n10,1971,40.900\n11,1971,41.000\n12,1971,41.100\n1,1972,41.200\n2,1972,41.400\n3,1972,41.400\n4,1972,41.500\n5,1972,41.600\n6,1972,41.700\n7,1972,41.800\n8,1972,41.900\n9,1972,42.100\n10,1972,42.200\n11,1972,42.400\n12,1972,42.500\n1,1973,42.700\n2,1973,43.000\n3,1973,43.400\n4,1973,43.700\n5,1973,43.900\n6,1973,44.200\n7,1973,44.200\n8,1973,45.000\n9,1973,45.200\n10,1973,45.600\n11,1973,45.900\n12,1973,46.300\n1,1974,46.800\n2,1974,47.300\n3,1974,47.800\n4,1974,48.100\n5,1974,48.600\n6,1974,49.000\n7,1974,49.300\n8,1974,49.900\n9,1974,50.600\n10,1974,51.000\n11,1974,51.500\n12,1974,51.900\n1,1975,52.300\n2,1975,52.600\n3,1975,52.800\n4,1975,53.000\n5,1975,53.100\n6,1975,53.500\n7,1975,54.000\n8,1975,54.200\n9,1975,54.600\n10,1975,54.900\n11,1975,55.300\n12,1975,55.600\n1,1976,55.800\n2,1976,55.900\n3,1976,56.000\n4,1976,56.100\n5,1976,56.400\n6,1976,56.700\n7,1976,57.000\n8,1976,57.300\n9,1976,57.600\n10,1976,57.900\n11,1976,58.100\n12,1976,58.400\n1,1977,58.700\n2,1977,59.300\n3,1977,59.600\n4,1977,60.000\n5,1977,60.200\n6,1977,60.500\n7,1977,60.800\n8,1977,61.100\n9,1977,61.300\n10,1977,61.600\n11,1977,62.000\n12,1977,62.300\n1,1978,62.700\n2,1978,63.000\n3,1978,63.400\n4,1978,63.900\n5,1978,64.500\n6,1978,65.000\n7,1978,65.500\n8,1978,65.900\n9,1978,66.500\n10,1978,67.100\n11,1978,67.500\n12,1978,67.900\n1,1979,68.500\n2,1979,69.200\n3,1979,69.900\n4,1979,70.600\n5,1979,71.400\n6,1979,72.200\n7,1979,73.000\n8,1979,73.700\n9,1979,74.400\n10,1979,75.200\n11,1979,76.000\n12,1979,76.900\n1,1980,78.000\n2,1980,79.000\n3,1980,80.100\n4,1980,80.900\n5,1980,81.700\n6,1980,82.500\n7,1980,82.600\n8,1980,83.200\n9,1980,83.900\n10,1980,84.700\n11,1980,85.600\n12,1980,86.400\n1,1981,87.200\n2,1981,88.000\n3,1981,88.600\n4,1981,89.100\n5,1981,89.700\n6,1981,90.500\n7,1981,91.500\n8,1981,92.200\n9,1981,93.100\n10,1981,93.400\n11,1981,93.800\n12,1981,94.100\n1,1982,94.400\n2,1982,94.700\n3,1982,94.700\n4,1982,95.000\n5,1982,95.900\n6,1982,97.000\n7,1982,97.500\n8,1982,97.700\n9,1982,97.700\n10,1982,98.100\n11,1982,98.000\n12,1982,97.700\n1,1983,97.900\n2,1983,98.000\n3,1983,98.100\n4,1983,98.800\n5,1983,99.200\n6,1983,99.400\n7,1983,99.800\n8,1983,100.100\n9,1983,100.400\n10,1983,100.800\n11,1983,101.100\n12,1983,101.400\n1,1984,102.100\n2,1984,102.600\n3,1984,102.900\n4,1984,103.300\n5,1984,103.500\n6,1984,103.700\n7,1984,104.100\n8,1984,104.400\n9,1984,104.700\n10,1984,105.100\n11,1984,105.300\n12,1984,105.500\n1,1985,105.700\n2,1985,106.300\n3,1985,106.800\n4,1985,107.000\n5,1985,107.200\n6,1985,107.500\n7,1985,107.700\n8,1985,107.900\n9,1985,108.100\n10,1985,108.500\n11,1985,109.000\n12,1985,109.500\n1,1986,109.900\n2,1986,109.700\n3,1986,109.100\n4,1986,108.700\n5,1986,109.000\n6,1986,109.400\n7,1986,109.500\n8,1986,109.600\n9,1986,110.000\n10,1986,110.200\n11,1986,110.400\n12,1986,110.800\n1,1987,111.400\n2,1987,111.800\n3,1987,112.200\n4,1987,112.700\n5,1987,113.000\n6,1987,113.500\n7,1987,113.800\n8,1987,114.300\n9,1987,114.700\n10,1987,115.000\n11,1987,115.400\n12,1987,115.600\n1,1988,116.000\n2,1988,116.200\n3,1988,116.500\n4,1988,117.200\n5,1988,117.500\n6,1988,118.000\n7,1988,118.500\n8,1988,119.000\n9,1988,119.500\n10,1988,119.900\n11,1988,120.300\n12,1988,120.700\n1,1989,121.200\n2,1989,121.600\n3,1989,122.200\n4,1989,123.100\n5,1989,123.700\n6,1989,124.100\n7,1989,124.500\n8,1989,124.500\n9,1989,124.800\n10,1989,125.400\n11,1989,125.900\n12,1989,126.300\n1,1990,127.500\n2,1990,128.000\n3,1990,128.600\n4,1990,128.900\n5,1990,129.100\n6,1990,129.900\n7,1990,130.500\n8,1990,131.600\n9,1990,132.500\n10,1990,133.400\n11,1990,133.700\n12,1990,134.200\n1,1991,134.700\n2,1991,134.800\n3,1991,134.800\n4,1991,135.100\n5,1991,135.600\n6,1991,136.000\n7,1991,136.200\n8,1991,136.600\n9,1991,137.000\n10,1991,137.200\n11,1991,137.800\n12,1991,138.200\n1,1992,138.300\n2,1992,138.600\n3,1992,139.100\n4,1992,139.400\n5,1992,139.700\n6,1992,140.100\n7,1992,140.500\n8,1992,140.800\n9,1992,141.100\n10,1992,141.700\n11,1992,142.100\n12,1992,142.300\n1,1993,142.800\n2,1993,143.100\n3,1993,143.300\n4,1993,143.800\n5,1993,144.200\n6,1993,144.300\n7,1993,144.500\n8,1993,144.800\n9,1993,145.000\n10,1993,145.600\n11,1993,146.000\n12,1993,146.300\n1,1994,146.300\n2,1994,146.700\n3,1994,147.100\n4,1994,147.200\n5,1994,147.500\n6,1994,147.900\n7,1994,148.400\n8,1994,149.000\n9,1994,149.300\n10,1994,149.400\n11,1994,149.800\n12,1994,150.100\n1,1995,150.500\n2,1995,150.900\n3,1995,151.200\n4,1995,151.800\n5,1995,152.100\n6,1995,152.400\n7,1995,152.600\n8,1995,152.900\n9,1995,153.100\n10,1995,153.500\n11,1995,153.700\n12,1995,153.900\n1,1996,154.700\n2,1996,155.000\n3,1996,155.500\n4,1996,156.100\n5,1996,156.400\n6,1996,156.700\n7,1996,157.000\n8,1996,157.200\n9,1996,157.700\n10,1996,158.200\n11,1996,158.700\n12,1996,159.100\n1,1997,159.400\n2,1997,159.700\n3,1997,159.800\n4,1997,159.900\n5,1997,159.900\n6,1997,160.200\n7,1997,160.400\n8,1997,160.800\n9,1997,161.200\n10,1997,161.500\n11,1997,161.700\n12,1997,161.800\n1,1998,162.000\n2,1998,162.000\n3,1998,162.000\n4,1998,162.200\n5,1998,162.600\n6,1998,162.800\n7,1998,163.200\n8,1998,163.400\n9,1998,163.500\n10,1998,163.900\n11,1998,164.100\n12,1998,164.400\n1,1999,164.700\n2,1999,164.700\n3,1999,164.800\n4,1999,165.900\n5,1999,166.000\n6,1999,166.000\n7,1999,166.700\n8,1999,167.100\n9,1999,167.800\n10,1999,168.100\n11,1999,168.400\n12,1999,168.800\n1,2000,169.300\n2,2000,170.000\n3,2000,171.000\n4,2000,170.900\n5,2000,171.200\n6,2000,172.200\n7,2000,172.700\n8,2000,172.700\n9,2000,173.600\n10,2000,173.900\n11,2000,174.200\n12,2000,174.600\n1,2001,175.600\n2,2001,176.000\n3,2001,176.100\n4,2001,176.400\n5,2001,177.300\n6,2001,177.700\n7,2001,177.400\n8,2001,177.400\n9,2001,178.100\n10,2001,177.600\n11,2001,177.500\n12,2001,177.400\n1,2002,177.700\n2,2002,178.000\n3,2002,178.500\n4,2002,179.300\n5,2002,179.500\n6,2002,179.600\n7,2002,180.000\n8,2002,180.500\n9,2002,180.800\n10,2002,181.200\n11,2002,181.500\n12,2002,181.800\n1,2003,182.600\n2,2003,183.600\n3,2003,183.900\n4,2003,183.200\n5,2003,182.900\n6,2003,183.100\n7,2003,183.700\n8,2003,184.500\n9,2003,185.100\n10,2003,184.900\n11,2003,185.000\n12,2003,185.500\n1,2004,186.300\n2,2004,186.700\n3,2004,187.100\n4,2004,187.400\n5,2004,188.200\n6,2004,188.900\n7,2004,189.100\n8,2004,189.200\n9,2004,189.800\n10,2004,190.800\n11,2004,191.700\n12,2004,191.700\n1,2005,191.600\n2,2005,192.400\n3,2005,193.100\n4,2005,193.700\n5,2005,193.600\n6,2005,193.700\n7,2005,194.900\n8,2005,196.100\n9,2005,198.800\n10,2005,199.100\n11,2005,198.100\n12,2005,198.100\n1,2006,199.300\n2,2006,199.400\n3,2006,199.700\n4,2006,200.700\n5,2006,201.300\n6,2006,201.800\n7,2006,202.900\n8,2006,203.800\n9,2006,202.800\n10,2006,201.900\n11,2006,202.000\n12,2006,203.100\n1,2007,203.437\n2,2007,204.226\n3,2007,205.288\n4,2007,205.904\n5,2007,206.755\n6,2007,207.234\n7,2007,207.603\n8,2007,207.667\n9,2007,208.547\n10,2007,209.190\n11,2007,210.834\n12,2007,211.445\n1,2008,212.174\n2,2008,212.687\n3,2008,213.448\n4,2008,213.942\n5,2008,215.208\n6,2008,217.463\n7,2008,219.016\n8,2008,218.690\n9,2008,218.877\n10,2008,216.995\n11,2008,213.153\n12,2008,211.398\n1,2009,211.933\n2,2009,212.705\n3,2009,212.495\n4,2009,212.709\n5,2009,213.022\n6,2009,214.790\n7,2009,214.726\n8,2009,215.445\n9,2009,215.861\n10,2009,216.509\n11,2009,217.234\n12,2009,217.347\n1,2010,217.488\n2,2010,217.281\n3,2010,217.353\n4,2010,217.403\n5,2010,217.290\n6,2010,217.199\n7,2010,217.605\n8,2010,217.923\n9,2010,218.275\n10,2010,219.035\n11,2010,219.590\n12,2010,220.472\n1,2011,221.187\n2,2011,221.898\n3,2011,223.046\n4,2011,224.093\n5,2011,224.806\n6,2011,224.806\n7,2011,225.395\n8,2011,226.106\n9,2011,226.597\n10,2011,226.750\n11,2011,227.169\n12,2011,227.223\n1,2012,227.842\n2,2012,228.329\n3,2012,228.807\n4,2012,229.187\n5,2012,228.713\n6,2012,228.524\n7,2012,228.590\n8,2012,229.918\n9,2012,231.015\n10,2012,231.638\n11,2012,231.249\n12,2012,231.221\n1,2013,231.679\n2,2013,232.937\n3,2013,232.282\n4,2013,231.797\n5,2013,231.893\n6,2013,232.445\n7,2013,232.900\n8,2013,233.456\n9,2013,233.544\n10,2013,233.669\n11,2013,234.100\n12,2013,234.719\n1,2014,235.288\n2,2014,235.547\n3,2014,236.028\n4,2014,236.468\n5,2014,236.918\n6,2014,237.231\n7,2014,237.498\n8,2014,237.460\n9,2014,237.477\n10,2014,237.430\n11,2014,236.983\n12,2014,236.252\n1,2015,234.718\n2,2015,235.236\n3,2015,236.005\n4,2015,236.156\n5,2015,236.974\n6,2015,237.684\n7,2015,238.053\n8,2015,238.028\n9,2015,237.506\n10,2015,237.781\n11,2015,238.016\n12,2015,237.817\n1,2016,237.833\n2,2016,237.469\n3,2016,238.038\n4,2016,238.827\n5,2016,239.464\n6,2016,240.167\n7,2016,240.150\n8,2016,240.602\n9,2016,241.051\n10,2016,241.691\n11,2016,242.029\n12,2016,242.772\n1,2017,243.780\n2,2017,243.961\n3,2017,243.749\n4,2017,244.051\n5,2017,243.962\n6,2017,244.182\n7,2017,244.390\n8,2017,245.297\n9,2017,246.418\n10,2017,246.587\n11,2017,247.332\n12,2017,247.901\n1,2018,248.884\n2,2018,249.369\n3,2018,249.498\n4,2018,249.956\n5,2018,250.646\n6,2018,251.134\n7,2018,251.597\n8,2018,251.879\n9,2018,252.010\n10,2018,252.794\n11,2018,252.760\n12,2018,252.723\n1,2019,252.673\n2,2019,253.113\n3,2019,254.148\n4,2019,254.958\n5,2019,255.325\n6,2019,255.361\n7,2019,255.900\n8,2019,256.179\n9,2019,256.596\n10,2019,257.305\n11,2019,257.788\n12,2019,258.263\n1,2020,258.682\n2,2020,259.007\n3,2020,258.165\n4,2020,256.094\n5,2020,255.944\n6,2020,257.217\n7,2020,258.543\n8,2020,259.580\n9,2020,260.190\n10,2020,260.352\n11,2020,260.721\n12,2020,261.560\n1,2021,262.518\n2,2021,263.583\n3,2021,264.910\n4,2021,266.752\n5,2021,268.452\n6,2021,270.664\n7,2021,271.994\n8,2021,272.789\n9,2021,273.887\n10,2021,276.434\n11,2021,278.799\n12,2021,280.808\n1,2022,282.390\n2,2022,284.535\n3,2022,287.553\n4,2022,288.764\n5,2022,291.359\n6,2022,294.996\n7,2022,294.977\n8,2022,295.209\n9,2022,296.341\n10,2022,297.863\n11,2022,298.648\n12,2022,298.812\n1,2023,300.356\n2,2023,301.509\n3,2023,301.744\n4,2023,303.032\n5,2023,303.365\n6,2023,304.003\n7,2023,304.628\n8,2023,306.187\n9,2023,307.288\n10,2023,307.531\n11,2023,308.024\n12,2023,308.742\n1,2024,309.685\n2,2024,311.054\n3,2024,312.230\n4,2024,313.207\n5,2024,313.225\n6,2024,313.049\n7,2024,313.534\n8,2024,314.121\n9,2024,314.686\n10,2024,315.454\n11,2024,316.441\n12,2024,317.685\n1,2025,319.086\n2,2025,319.775\n3,2025,319.615\n4,2025,320.321\n5,2025,320.580\n6,2025,321.500\n7,2025,322.132\n8,2025,323.364\n9,2025,324.368\n10,2025,324.699\n11,2025,325.031\n12,2025,326.030\n`,
        'ch_inflation': `1,1921,215.7\n2,1921,213.2\n3,1921,210.3\n4,1921,208.2\n5,1921,203.3\n6,1921,199.5\n7,1921,197.5\n8,1921,196.6\n9,1921,194.3\n10,1921,192.2\n11,1921,188.4\n12,1921,183.8\n1,1922,183.2\n2,1922,175.8\n3,1922,168.7\n4,1922,163.6\n5,1922,159.5\n6,1922,159.2\n7,1922,159.6\n8,1922,158.3\n9,1922,158.4\n10,1922,159.6\n11,1922,160.7\n12,1922,160.6\n1,1923,160.9\n2,1923,159.6\n3,1923,160.4\n4,1923,161.7\n5,1923,163.2\n6,1923,164.7\n7,1923,164.7\n8,1923,164.7\n9,1923,164.8\n10,1923,165.3\n11,1923,167.5\n12,1923,168.3\n1,1924,169\n2,1924,168.2\n3,1924,168.2\n4,1924,167.4\n5,1924,167.1\n6,1924,167.6\n7,1924,168.1\n8,1924,168\n9,1924,168.2\n10,1924,170.8\n11,1924,171.5\n12,1924,171.1\n1,1925,169.7\n2,1925,169.6\n3,1925,169.3\n4,1925,168.3\n5,1925,168\n6,1925,168.1\n7,1925,167.9\n8,1925,168\n9,1925,168.4\n10,1925,167.3\n11,1925,167.2\n12,1925,166.8\n1,1926,165.8\n2,1926,164.3\n3,1926,163.4\n4,1926,162\n5,1926,161.8\n6,1926,161.7\n7,1926,161.6\n8,1926,160.8\n9,1926,161.1\n10,1926,161.4\n11,1926,161\n12,1926,160.9\n1,1927,160.2\n2,1927,159.7\n3,1927,158.8\n4,1927,158\n5,1927,159.6\n6,1927,160.4\n7,1927,160\n8,1927,159.8\n9,1927,161.2\n10,1927,161.5\n11,1927,162.3\n12,1927,162\n1,1928,161.3\n2,1928,160.6\n3,1928,159.8\n4,1928,160.1\n5,1928,160.4\n6,1928,160.8\n7,1928,161.1\n8,1928,160.6\n9,1928,161\n10,1928,162\n11,1928,162.3\n12,1928,162.2\n1,1929,161.3\n2,1929,161.3\n3,1929,160.6\n4,1929,159.3\n5,1929,160\n6,1929,161\n7,1929,160.8\n8,1929,161.6\n9,1929,162.5\n10,1929,162.5\n11,1929,162\n12,1929,161.5\n1,1930,160.6\n2,1930,159.8\n3,1930,159.4\n4,1930,157.9\n5,1930,157.8\n6,1930,158.3\n7,1930,158.6\n8,1930,158.8\n9,1930,158.7\n10,1930,157.7\n11,1930,157.3\n12,1930,156.2\n1,1931,155.6\n2,1931,154.7\n3,1931,153.1\n4,1931,150.6\n5,1931,150.3\n6,1931,150.2\n7,1931,149.9\n8,1931,149.2\n9,1931,149.2\n10,1931,147.6\n11,1931,146.7\n12,1931,144.8\n1,1932,143.7\n2,1932,142.3\n3,1932,141.7\n4,1932,139.7\n5,1932,138.7\n6,1932,138.3\n7,1932,137.6\n8,1932,137\n9,1932,136.4\n10,1932,136.2\n11,1932,135.5\n12,1932,134.4\n1,1933,133.4\n2,1933,132.8\n3,1933,132.1\n4,1933,131.2\n5,1933,130.5\n6,1933,130.8\n7,1933,130.7\n8,1933,130.7\n9,1933,131.2\n10,1933,131.2\n11,1933,131.4\n12,1933,131.3\n1,1934,131.1\n2,1934,130.8\n3,1934,130.1\n4,1934,129.9\n5,1934,129.2\n6,1934,129.5\n7,1934,129\n8,1934,128.7\n9,1934,128.8\n10,1934,128.8\n11,1934,129\n12,1934,128.8\n1,1935,128\n2,1935,127.5\n3,1935,127.2\n4,1935,126.6\n5,1935,126.3\n6,1935,127.3\n7,1935,128.2\n8,1935,128.7\n9,1935,128.8\n10,1935,129.3\n11,1935,129.9\n12,1935,130\n1,1936,129.7\n2,1936,129.5\n3,1936,129.7\n4,1936,129.9\n5,1936,129.5\n6,1936,130.1\n7,1936,130.2\n8,1936,130.2\n9,1936,130.5\n10,1936,131.6\n11,1936,132\n12,1936,132\n1,1937,133.5\n2,1937,136.4\n3,1937,136.3\n4,1937,136.7\n5,1937,136.3\n6,1937,137.2\n7,1937,137.1\n8,1937,137\n9,1937,137\n10,1937,137.6\n11,1937,137.8\n12,1937,137.8\n1,1938,137.8\n2,1938,137.4\n3,1938,137\n4,1938,136.5\n5,1938,136.3\n6,1938,136.9\n7,1938,136.8\n8,1938,136.4\n9,1938,137.3\n10,1938,137.1\n11,1938,137.1\n12,1938,136.9\n1,1939,136.6\n2,1939,136\n3,1939,135.9\n4,1939,136.4\n5,1939,136.7\n6,1939,137.4\n7,1939,137.5\n8,1939,137.2\n9,1939,138.2\n10,1939,140.5\n11,1939,141.7\n12,1939,142\n1,1940,144.2\n2,1940,144.6\n3,1940,144.8\n4,1940,147.3\n5,1940,148.2\n6,1940,149.6\n7,1940,150.6\n8,1940,151\n9,1940,153.2\n10,1940,156.7\n11,1940,159.2\n12,1940,159.9\n1,1941,162.9\n2,1941,162.9\n3,1941,163.7\n4,1941,168.7\n5,1941,171.2\n6,1941,174.8\n7,1941,177.1\n8,1941,177.7\n9,1941,178.2\n10,1941,181.7\n11,1941,183.8\n12,1941,184.3\n1,1942,186.3\n2,1942,187.9\n3,1942,188.7\n4,1942,191.1\n5,1942,192.3\n6,1942,192.7\n7,1942,195.6\n8,1942,195.2\n9,1942,195.4\n10,1942,197.4\n11,1942,198.6\n12,1942,199.6\n1,1943,200.8\n2,1943,201.2\n3,1943,201.4\n4,1943,202.6\n5,1943,202.7\n6,1943,203.3\n7,1943,203.9\n8,1943,203.5\n9,1943,204.2\n10,1943,204.9\n11,1943,205.1\n12,1943,205.3\n1,1944,205.6\n2,1944,205.9\n3,1944,206.4\n4,1944,207.1\n5,1944,207.5\n6,1944,208.2\n7,1944,208.8\n8,1944,208\n9,1944,208\n10,1944,208.2\n11,1944,208.2\n12,1944,208.2\n1,1945,208.5\n2,1945,208.7\n3,1945,208.8\n4,1945,209.3\n5,1945,209.6\n6,1945,210.3\n7,1945,210.5\n8,1945,210\n9,1945,209.7\n10,1945,208.3\n11,1945,206.7\n12,1945,206.7\n1,1946,206.8\n2,1946,205.9\n3,1946,204.9\n4,1946,205.1\n5,1946,206.4\n6,1946,207.3\n7,1946,207.1\n8,1946,207.2\n9,1946,207.3\n10,1946,211.5\n11,1946,211.8\n12,1946,212\n1,1947,212.3\n2,1947,212.2\n3,1947,212.3\n4,1947,213.2\n5,1947,216.2\n6,1947,217.4\n7,1947,217.4\n8,1947,217.5\n9,1947,217.8\n10,1947,222.7\n11,1947,223\n12,1947,223.3\n1,1948,223.6\n2,1948,223.5\n3,1948,222.9\n4,1948,222.9\n5,1948,223.1\n6,1948,223.7\n7,1948,223\n8,1948,222.7\n9,1948,223.1\n10,1948,223.2\n11,1948,226.3\n12,1948,224.6\n1,1949,223.8\n2,1949,223\n3,1949,222\n4,1949,221.2\n5,1949,221.5\n6,1949,222\n7,1949,221.3\n8,1949,221.4\n9,1949,222\n10,1949,221.3\n11,1949,220.9\n12,1949,220.3\n1,1950,218\n2,1950,217.2\n3,1950,216.8\n4,1950,215.9\n5,1950,216.8\n6,1950,217\n7,1950,217\n8,1950,218.3\n9,1950,219.2\n10,1950,220.3\n11,1950,220.5\n12,1950,220.3\n1,1951,222.3\n2,1951,223\n3,1951,222.8\n4,1951,225.3\n5,1951,227.6\n6,1951,228.1\n7,1951,229.2\n8,1951,230.6\n9,1951,231.3\n10,1951,232.9\n11,1951,234.1\n12,1951,234.3\n1,1952,233.6\n2,1952,234.1\n3,1952,234.1\n4,1952,233.2\n5,1952,234.1\n6,1952,234.8\n7,1952,234.3\n8,1952,234.8\n9,1952,235.3\n10,1952,234.6\n11,1952,234.8\n12,1952,234.6\n1,1953,233.2\n2,1953,232.7\n3,1953,232.5\n4,1953,231.8\n5,1953,232.7\n6,1953,232.9\n7,1953,232.7\n8,1953,232.9\n9,1953,233.6\n10,1953,233.8\n11,1953,233.8\n12,1953,233.3\n1,1954,232.8\n2,1954,232.3\n3,1954,232.1\n4,1954,232.3\n5,1954,233\n6,1954,233.5\n7,1954,234.2\n8,1954,235.1\n9,1954,235.6\n10,1954,236.3\n11,1954,237\n12,1954,236.8\n1,1955,236.1\n2,1955,235.4\n3,1955,235.4\n4,1955,235.6\n5,1955,236.4\n6,1955,236.4\n7,1955,236.5\n8,1955,237.1\n9,1955,237.5\n10,1955,237.9\n11,1955,238.2\n12,1955,238.2\n1,1956,236.8\n2,1956,237.4\n3,1956,238\n4,1956,237.6\n5,1956,240.1\n6,1956,240.6\n7,1956,240.9\n8,1956,241.7\n9,1956,242.2\n10,1956,242.4\n11,1956,243.1\n12,1956,243.4\n1,1957,243\n2,1957,242.6\n3,1957,241.9\n4,1957,242.7\n5,1957,244.2\n6,1957,244.4\n7,1957,244.9\n8,1957,246.3\n9,1957,246.8\n10,1957,247.6\n11,1957,248.3\n12,1957,248.3\n1,1958,247.6\n2,1958,247.6\n3,1958,247.6\n4,1958,247.9\n5,1958,250\n6,1958,250.3\n7,1958,250.3\n8,1958,250.5\n9,1958,250.9\n10,1958,250.8\n11,1958,250.9\n12,1958,250.5\n1,1959,249\n2,1959,248.2\n3,1959,247.8\n4,1959,246.8\n5,1959,247.1\n6,1959,246.8\n7,1959,246.8\n8,1959,247.6\n9,1959,248.5\n10,1959,248.9\n11,1959,249.2\n12,1959,249\n1,1960,248.3\n2,1960,249.6\n3,1960,249.6\n4,1960,250\n5,1960,251.1\n6,1960,251.4\n7,1960,252\n8,1960,252.6\n9,1960,253.3\n10,1960,253.7\n11,1960,253.7\n12,1960,253.4\n1,1961,252.7\n2,1961,252.9\n3,1961,252.9\n4,1961,252.9\n5,1961,254.8\n6,1961,255.2\n7,1961,255.7\n8,1961,257\n9,1961,257.4\n10,1961,258.5\n11,1961,262.1\n12,1961,262.3\n1,1962,262.6\n2,1962,263.3\n3,1962,263.7\n4,1962,264.9\n5,1962,267\n6,1962,267.7\n7,1962,268.5\n8,1962,269.6\n9,1962,269.5\n10,1962,269\n11,1962,270.3\n12,1962,270.8\n1,1963,271.7\n2,1963,273.3\n3,1963,273.3\n4,1963,273.7\n5,1963,275.4\n6,1963,276\n7,1963,276.6\n8,1963,277.4\n9,1963,278.2\n10,1963,279.3\n11,1963,281\n12,1963,281.3\n1,1964,281.5\n2,1964,281.9\n3,1964,282.1\n4,1964,283.9\n5,1964,285.4\n6,1964,285\n7,1964,285.1\n8,1964,285.8\n9,1964,286.3\n10,1964,287.2\n11,1964,287.4\n12,1964,287.8\n1,1965,288.1\n2,1965,289.1\n3,1965,289.2\n4,1965,290.2\n5,1965,293.3\n6,1965,294.4\n7,1965,295.3\n8,1965,296.9\n9,1965,297.7\n10,1965,298.7\n11,1965,301.3\n12,1965,302\n1,1966,303.6\n2,1966,304.4\n3,1966,304.9\n4,1966,305.3\n5,1966,309.1\n6,1966,308.7\n7,1966,308.7\n8,1966,309.7\n9,1966,309.9\n10,1966,310.5\n11,1966,314.2\n12,1966,315.8\n1,1967,316.7\n2,1967,316.1\n3,1967,316.1\n4,1967,316.4\n5,1967,319.8\n6,1967,322\n7,1967,323.2\n8,1967,324.5\n9,1967,323.2\n10,1967,322.9\n11,1967,326\n12,1967,326.9\n1,1968,327.6\n2,1968,328.2\n3,1968,326.9\n4,1968,326.6\n5,1968,327.6\n6,1968,327.9\n7,1968,327.6\n8,1968,328.5\n9,1968,328.8\n10,1968,330\n11,1968,333.1\n12,1968,334.1\n1,1969,335\n2,1969,335.6\n3,1969,335\n4,1969,334.4\n5,1969,335.9\n6,1969,337.5\n7,1969,337.5\n8,1969,336.9\n9,1969,337.2\n10,1969,337.8\n11,1969,340.6\n12,1969,341.8\n1,1970,342.7\n2,1970,342.7\n3,1970,343.4\n4,1970,343.1\n5,1970,346.5\n6,1970,348\n7,1970,348.9\n8,1970,350.2\n9,1970,352.4\n10,1970,354.2\n11,1970,358.9\n12,1970,360.4\n1,1971,362.6\n2,1971,364.1\n3,1971,366.3\n4,1971,366.6\n5,1971,370.6\n6,1971,371\n7,1971,372.5\n8,1971,373.1\n9,1971,375.9\n10,1971,377.5\n11,1971,382.4\n12,1971,384.3\n1,1972,386.8\n2,1972,388.6\n3,1972,389.5\n4,1972,389.9\n5,1972,393.9\n6,1972,396.1\n7,1972,396.4\n8,1972,397.9\n9,1972,401.3\n10,1972,405\n11,1972,408.4\n12,1972,410.6\n1,1973,415.3\n2,1973,418.1\n3,1973,421.5\n4,1973,422.4\n5,1973,425.5\n6,1973,428.6\n7,1973,429.2\n8,1973,430.8\n9,1973,434.5\n10,1973,443.5\n11,1973,452.8\n12,1973,459.6\n1,1974,463.3\n2,1974,459.9\n3,1974,462.1\n4,1974,459.3\n5,1974,467.3\n6,1974,469.8\n7,1974,471.4\n8,1974,476\n9,1974,483.8\n10,1974,486.9\n11,1974,493.7\n12,1974,494.3\n1,1975,497.1\n2,1975,498.6\n3,1975,500.5\n4,1975,501.7\n5,1975,505.4\n6,1975,507.3\n7,1975,506.4\n8,1975,507.9\n9,1975,509.8\n10,1975,510.4\n11,1975,512\n12,1975,511.3\n1,1976,514.1\n2,1976,513.8\n3,1976,512.9\n4,1976,512.9\n5,1976,512\n6,1976,512.9\n7,1976,513.8\n8,1976,515.7\n9,1976,514.4\n10,1976,515.7\n11,1976,516.6\n12,1976,517.8\n1,1977,518.8\n2,1977,519.1\n3,1977,518.2\n4,1977,518.8\n5,1977,518.5\n6,1977,521.9\n7,1977,522.2\n8,1977,522.2\n9,1977,522.5\n10,1977,523.6\n11,1977,523.2\n12,1977,523.8\n1,1978,524.1\n2,1978,524.6\n3,1978,525.2\n4,1978,526.2\n5,1978,526.9\n6,1978,527.8\n7,1978,527.9\n8,1978,528.1\n9,1978,526.8\n10,1978,525.8\n11,1978,526.5\n12,1978,527.6\n1,1979,529.6\n2,1979,535.4\n3,1979,538.3\n4,1979,539.7\n5,1979,541.6\n6,1979,549.2\n7,1979,550.5\n8,1979,549.5\n9,1979,552.1\n10,1979,551.9\n11,1979,554\n12,1979,555\n1,1980,556.7\n2,1980,557.5\n3,1980,559.2\n4,1980,561.7\n5,1980,565.1\n6,1980,567.1\n7,1980,568.9\n8,1980,572.7\n9,1980,573\n10,1980,571.9\n11,1980,577.4\n12,1980,579.4\n1,1981,585\n2,1981,590.7\n3,1981,594.7\n4,1981,593.4\n5,1981,598.9\n6,1981,602.7\n7,1981,606.3\n8,1981,615.3\n9,1981,615.8\n10,1981,613.7\n11,1981,617.9\n12,1981,617.8\n1,1982,620.8\n2,1982,621.8\n3,1982,622.9\n4,1982,626.4\n5,1982,634.5\n6,1982,640.1\n7,1982,642.5\n8,1982,647.4\n9,1982,649.9\n10,1982,651.6\n11,1982,653.4\n12,1982,651.5\n1,1983,650.5\n2,1983,651.4\n3,1983,652.7\n4,1983,654.7\n5,1983,655.3\n6,1983,657.9\n7,1983,656.7\n8,1983,658.5\n9,1983,659.3\n10,1983,660.9\n11,1983,665.1\n12,1983,665.4\n1,1984,667.8\n2,1984,670.2\n3,1984,674.6\n4,1984,675.5\n5,1984,674.2\n6,1984,676.3\n7,1984,675.1\n8,1984,677.6\n9,1984,677.1\n10,1984,681.4\n11,1984,685\n12,1984,684.7\n1,1985,691.4\n2,1985,697.1\n3,1985,700.9\n4,1985,700.1\n5,1985,699.6\n6,1985,699.3\n7,1985,697.8\n8,1985,697.6\n9,1985,699.8\n10,1985,701.5\n11,1985,706.5\n12,1985,706.9\n1,1986,706.6\n2,1986,706.4\n3,1986,707.3\n4,1986,706.9\n5,1986,704.8\n6,1986,704.6\n7,1986,701.3\n8,1986,702.6\n9,1986,703.9\n10,1986,704.1\n11,1986,705.8\n12,1986,707.2\n1,1987,711.3\n2,1987,713.4\n3,1987,714.4\n4,1987,715.3\n5,1987,711.3\n6,1987,713.6\n7,1987,713.8\n8,1987,716.5\n9,1987,714.8\n10,1987,718\n11,1987,720.6\n12,1987,720.6\n1,1988,722.4\n2,1988,725.9\n3,1988,727.6\n4,1988,729\n5,1988,727.2\n6,1988,728.3\n7,1988,726.7\n8,1988,729.2\n9,1988,729.4\n10,1988,730.6\n11,1988,733.3\n12,1988,734.6\n1,1989,738.6\n2,1989,742.3\n3,1989,744.3\n4,1989,748.2\n5,1989,748.8\n6,1989,750\n7,1989,748.4\n8,1989,750.9\n9,1989,754.1\n10,1989,757.1\n11,1989,765.8\n12,1989,771.5\n1,1990,776\n2,1990,778.5\n3,1990,781.2\n4,1990,782.8\n5,1990,786.6\n6,1990,787.7\n7,1990,788.1\n8,1990,796.5\n9,1990,800.3\n10,1990,805.2\n11,1990,812.2\n12,1990,812.2\n1,1991,818.8\n2,1991,826.9\n3,1991,827\n4,1991,829\n5,1991,836\n6,1991,839.5\n7,1991,839.7\n8,1991,844.1\n9,1991,845.7\n10,1991,846.5\n11,1991,856.7\n12,1991,854.6\n1,1992,858.6\n2,1992,864.8\n3,1992,867.3\n4,1992,868.7\n5,1992,871\n6,1992,874.4\n7,1992,871.8\n8,1992,874.1\n9,1992,875.1\n10,1992,876.4\n11,1992,884.8\n12,1992,883.9\n1,1993,888.4\n2,1993,894.1\n3,1993,898.9\n4,1993,901.6\n5,1993,902.1\n6,1993,901.9\n7,1993,901.3\n8,1993,905.8\n9,1993,905.2\n10,1993,905.9\n11,1993,904.7\n12,1993,905.8\n1,1994,906.9\n2,1994,910.5\n3,1994,910.6\n4,1994,911\n5,1994,905.4\n6,1994,906.8\n7,1994,906.6\n8,1994,910.2\n9,1994,910.6\n10,1994,909.8\n11,1994,909.8\n12,1994,909.6\n1,1995,916.1\n2,1995,924.2\n3,1995,924.8\n4,1995,925.6\n5,1995,923.8\n6,1995,925.7\n7,1995,925\n8,1995,928\n9,1995,928.8\n10,1995,927.8\n11,1995,927.1\n12,1995,927.3\n1,1996,930\n2,1996,931.5\n3,1996,933.1\n4,1996,934\n5,1996,930.6\n6,1996,932.4\n7,1996,931.1\n8,1996,933.5\n9,1996,934.1\n10,1996,935.6\n11,1996,933.8\n12,1996,934.6\n1,1997,937.7\n2,1997,939.3\n3,1997,938\n4,1997,938.9\n5,1997,936\n6,1997,936.9\n7,1997,935.9\n8,1997,938\n9,1997,937.9\n10,1997,938\n11,1997,937.7\n12,1997,938.2\n1,1998,937.8\n2,1998,939\n3,1998,938.3\n4,1998,938.7\n5,1998,936.7\n6,1998,937.9\n7,1998,936.6\n8,1998,939.3\n9,1998,938.5\n10,1998,938.3\n11,1998,936.8\n12,1998,936.6\n1,1999,938.5\n2,1999,941.7\n3,1999,942.7\n4,1999,944.3\n5,1999,942.1\n6,1999,943.2\n7,1999,943.5\n8,1999,948.1\n9,1999,949.9\n10,1999,949.9\n11,1999,949\n12,1999,952.2\n1,2000,953.4\n2,2000,957\n3,2000,956.7\n4,2000,957.5\n5,2000,957\n6,2000,960.6\n7,2000,961.3\n8,2000,958.8\n9,2000,963.6\n10,2000,962.6\n11,2000,967.2\n12,2000,966.4\n1,2001,965.8\n2,2001,964.4\n3,2001,966\n4,2001,968.7\n5,2001,973.9\n6,2001,975.8\n7,2001,974.3\n8,2001,968.9\n9,2001,970.1\n10,2001,968.7\n11,2001,969.9\n12,2001,969.6\n1,2002,970.8\n2,2002,970.8\n3,2002,970.9\n4,2002,979.3\n5,2002,980.2\n6,2002,978.9\n7,2002,973.8\n8,2002,973.5\n9,2002,974.9\n10,2002,980.6\n11,2002,978.8\n12,2002,978.2\n1,2003,979\n2,2003,980\n3,2003,983.9\n4,2003,985.9\n5,2003,984.3\n6,2003,984.3\n7,2003,976.4\n8,2003,978.7\n9,2003,980.1\n10,2003,985.1\n11,2003,983.8\n12,2003,984\n1,2004,980.7\n2,2004,980.9\n3,2004,983\n4,2004,991.3\n5,2004,993.5\n6,2004,995.3\n7,2004,984.8\n8,2004,988.5\n9,2004,988.5\n10,2004,997.8\n11,2004,998.8\n12,2004,997.1\n1,2005,992.5\n2,2005,994.7\n3,2005,997.1\n4,2005,1005.3\n5,2005,1004.3\n6,2005,1002\n7,2005,996.6\n8,2005,998\n9,2005,1002.4\n10,2005,1011.1\n11,2005,1008.3\n12,2005,1007.2\n1,2006,1005.3\n2,2006,1008.5\n3,2006,1007.4\n4,2006,1015.9\n5,2006,1018\n6,2006,1017.7\n7,2006,1010.8\n8,2006,1012.5\n9,2006,1010.3\n10,2006,1013.7\n11,2006,1013.3\n12,2006,1013.4\n1,2007,1006.4\n2,2007,1008.3\n3,2007,1009.1\n4,2007,1020.6\n5,2007,1022.9\n6,2007,1024.1\n7,2007,1018\n8,2007,1016.9\n9,2007,1017.9\n10,2007,1026.6\n11,2007,1031.2\n12,2007,1033.7\n1,2008,1030.8\n2,2008,1032.2\n3,2008,1035.7\n4,2008,1043.9\n5,2008,1052.1\n6,2008,1053.9\n7,2008,1049.3\n8,2008,1046.6\n9,2008,1047.7\n10,2008,1053.2\n11,2008,1046.2\n12,2008,1041\n1,2009,1032.2\n2,2009,1034.6\n3,2009,1031.3\n4,2009,1040.4\n5,2009,1042\n6,2009,1043.9\n7,2009,1037\n8,2009,1038.1\n9,2009,1038\n10,2009,1044.4\n11,2009,1046.5\n12,2009,1043.9\n1,2010,1042.8\n2,2010,1044.3\n3,2010,1045.7\n4,2010,1054.7\n5,2010,1053.6\n6,2010,1049\n7,2010,1041.3\n8,2010,1041.2\n9,2010,1040.9\n10,2010,1046.5\n11,2010,1049\n12,2010,1049.4\n1,2011,1045.7\n2,2011,1049.6\n3,2011,1056.2\n4,2011,1057.4\n5,2011,1057.5\n6,2011,1054.9\n7,2011,1046.2\n8,2011,1043.2\n9,2011,1046\n10,2011,1045.3\n11,2011,1043.5\n12,2011,1041.9\n1,2012,1037.4\n2,2012,1040.3\n3,2012,1046.1\n4,2012,1046.9\n5,2012,1046.7\n6,2012,1043.8\n7,2012,1038.8\n8,2012,1038.4\n9,2012,1041.7\n10,2012,1043\n11,2012,1039.6\n12,2012,1037.3\n1,2013,1034.6\n2,2013,1037.7\n3,2013,1039.9\n4,2013,1040.3\n5,2013,1041.4\n6,2013,1042.5\n7,2013,1038.7\n8,2013,1038\n9,2013,1041.1\n10,2013,1040.3\n11,2013,1040.4\n12,2013,1038\n1,2014,1035.2\n2,2014,1036.2\n3,2014,1040\n4,2014,1040.7\n5,2014,1043.7\n6,2014,1043\n7,2014,1039.1\n8,2014,1038.7\n9,2014,1040.2\n10,2014,1040.2\n11,2014,1039.8\n12,2014,1034.6\n1,2015,1030.2\n2,2015,1027.5\n3,2015,1030.9\n4,2015,1029\n5,2015,1031.4\n6,2015,1032.1\n7,2015,1025.8\n8,2015,1024.2\n9,2015,1025.2\n10,2015,1026\n11,2015,1025.3\n12,2015,1021.1\n1,2016,1017.1\n2,2016,1019\n3,2016,1022\n4,2016,1025.4\n5,2016,1026.9\n6,2016,1028.3\n7,2016,1023.7\n8,2016,1022.7\n9,2016,1023.3\n10,2016,1023.8\n11,2016,1021.8\n12,2016,1021\n1,2017,1020.7\n2,2017,1025.6\n3,2017,1027.8\n4,2017,1029.9\n5,2017,1031.8\n6,2017,1030.3\n7,2017,1027.1\n8,2017,1027.4\n9,2017,1030\n10,2017,1030.6\n11,2017,1029.9\n12,2017,1029.6\n1,2018,1028.2\n2,2018,1032\n3,2018,1036\n4,2018,1038.1\n5,2018,1042.1\n6,2018,1042.1\n7,2018,1039.7\n8,2018,1039.6\n9,2018,1040.2\n10,2018,1042\n11,2018,1039.4\n12,2018,1036.7\n1,2019,1034\n2,2019,1038\n3,2019,1043.5\n4,2019,1045.5\n5,2019,1048.7\n6,2019,1048.4\n7,2019,1043\n8,2019,1042.9\n9,2019,1041.7\n10,2019,1039.4\n11,2019,1038\n12,2019,1038.3\n1,2020,1036.1\n3,2020,1037.4\n4,2020,1038.1\n5,2020,1034.4\n6,2020,1034.8\n7,2020,1035.0\n8,2020,1033.4\n9,2020,1033.8\n10,2020,1033.4\n11,2020,1033.5\n12,2020,1030.9\n1,2021,1029.9\n2,2021,1030.4\n3,2021,1032.1\n4,2021,1035.6\n5,2021,1037.8\n6,2021,1040.5\n7,2021,1041.3\n8,2021,1040.4\n9,2021,1043.0\n10,2021,1043.1\n11,2021,1046.3\n12,2021,1046.7\n1,2022,1045.6\n2,2022,1047.4\n3,2022,1054.3\n4,2022,1060.3\n5,2022,1064.2\n6,2022,1071.1\n7,2022,1076.5\n8,2022,1076.1\n9,2022,11079.0\n10,2022,11077.1\n11,2022,11077.6\n12,2022,11077.7\n1,2023,1075.3\n2,2023,1081.8\n3,2023,1089.9\n4,2023,1091.5\n5,2023,1091.5\n6,2023,1094.2\n7,2023,1094.9\n8,2023,1093.4\n9,2023,1095.7\n`
    };

    
    let portfolioRows = [];

    function addPortfolioRow(asset = 'us_stocks', allocation = 0) {
        const row = document.createElement('div');
        row.className = 'swr-portfolio-asset-row';
        row.innerHTML = `
            <select class="swr-asset-select">
                ${AVAILABLE_ASSETS.map(a => `<option value="${a.value}" ${a.value === asset ? 'selected' : ''}>${a.label}</option>`).join('')}
            </select>
            <input type="number" class="swr-asset-allocation" min="0" max="100" step="0.1" value="${allocation}" placeholder="%">
            <button type="button" class="swr-remove-asset">×</button>
        `;

        row.querySelector('.swr-remove-asset').addEventListener('click', () => {
            row.remove();
            portfolioRows = portfolioRows.filter(r => r !== row);
            updateAllocationTotal();
            updateAddAssetButtonState();
        });

        row.querySelector('.swr-asset-allocation').addEventListener('input', updateAllocationTotal);
        row.querySelector('.swr-asset-select').addEventListener('change', () => {
            updateDropdownOptions();
            updateAddAssetButtonState();
        });

        portfolioListDiv.appendChild(row);
        portfolioRows.push(row);
        updateAllocationTotal();
        return row;
    }

    function updateAllocationTotal() {
        const total = Array.from(portfolioListDiv.querySelectorAll('.swr-asset-allocation'))
            .reduce((sum, input) => sum + (parseFloat(input.value) || 0), 0);

        allocationTotalSpan.textContent = `Total: ${total.toFixed(1)}%`;
        allocationTotalSpan.className = 'swr-allocation-total ' + (Math.abs(total - 100) < 0.01 ? 'valid' : 'invalid');

        calculateBtn.disabled = Math.abs(total - 100) >= 0.01;
    }

    function updateDropdownOptions() {
        const selectedAssets = new Set(
            Array.from(portfolioListDiv.querySelectorAll('.swr-asset-select'))
                .map(select => select.value)
        );

        portfolioListDiv.querySelectorAll('.swr-asset-select').forEach(select => {
            const currentValue = select.value;
            Array.from(select.options).forEach(option => {
                option.disabled = selectedAssets.has(option.value) && option.value !== currentValue;
            });
        });
    }

    function updateAddAssetButtonState() {
        const selectedAssets = new Set(
            Array.from(portfolioListDiv.querySelectorAll('.swr-asset-select'))
                .map(select => select.value)
        );
        addAssetBtn.disabled = selectedAssets.size >= AVAILABLE_ASSETS.length;
    }

    addAssetBtn.addEventListener('click', () => {
        if (portfolioRows.length < AVAILABLE_ASSETS.length) {
            const selectedAssets = new Set(
                Array.from(portfolioListDiv.querySelectorAll('.swr-asset-select'))
                    .map(select => select.value)
            );
            const firstUnusedAsset = AVAILABLE_ASSETS.find(a => !selectedAssets.has(a.value));
            addPortfolioRow(firstUnusedAsset ? firstUnusedAsset.value : AVAILABLE_ASSETS[0].value, 0);
            updateDropdownOptions();
            updateAddAssetButtonState();
        }
    });

    
    advancedToggleBtn.addEventListener('click', () => {
        advancedOptions.classList.toggle('show');
        advancedToggleBtn.textContent = advancedOptions.classList.contains('show')
            ? 'Hide Advanced Options'
            : 'Show Advanced Options';
    });

    
    addPortfolioRow('us_stocks', 100);
    updateDropdownOptions();
    updateAddAssetButtonState();

    
    const DATA_CACHE = {};

    function parseCsv(csvText) {
        const lines = csvText.split('\n');
        const data = [];
        for (let i = 0; i < lines.length; i++) {
            const line = lines[i].trim();
            if (line) {
                const parts = line.split(',');
                if (parts.length >= 3) {
                    data.push({
                        month: parseInt(parts[0]),
                        year: parseInt(parts[1]),
                        value: parseFloat(parts[2])
                    });
                }
            }
        }
        return data;
    }

    async function loadData(name) {
        if (DATA_CACHE[name]) return DATA_CACHE[name];
        const csvText = embeddedData[name];
        const data = parseCsv(csvText);
        DATA_CACHE[name] = data;
        return data;
    }

    function normalizeData(data) {
        let df = [...data];
        
        while (df.length > 0 && df[df.length - 1].month !== 12) { df.pop(); }
        while (df.length > 0 && df[0].month !== 1) { df.shift(); }
        if (df.length === 0 || df[0].value === 1.0) return df;

        
        const normalized_df = [];
        let previous_value = df[0].value;
        normalized_df.push({ ...df[0], value: 1.0 });

        for (let i = 1; i < df.length; ++i) {
            const value = df[i].value;
            const new_value = normalized_df[i-1].value * (value / previous_value);
            normalized_df.push({ ...df[i], value: new_value });
            previous_value = value;
        }

        return normalized_df;
    }

    function transformToReturns(data) {
        if (data.length === 0) return [];

        const returns_df = [{...data[0], value: 1.0}];
        let previous_value = data[0].value;

        for (let i = 1; i < data.length; i++) {
            const new_value = data[i].value / previous_value;
            returns_df.push({ ...data[i], value: new_value });
            previous_value = data[i].value;
        }

        return returns_df;
    }

    
    async function runSimulation(scenario) {
        
        const assetDataPromises = scenario.portfolio.map(p => loadData(p.asset));
        const inflationDataPromise = scenario.inflationData === 'no_inflation'
            ? Promise.resolve(null)
            : loadData(scenario.inflationData);

        const rawAssetData = await Promise.all(assetDataPromises);
        const rawInflationData = await inflationDataPromise;

        const assetValues = rawAssetData.map(data => transformToReturns(normalizeData(data)));
        let inflationData = rawInflationData
            ? transformToReturns(normalizeData(rawInflationData))
            : assetValues[0].map(d => ({...d, value: 1.0}));

        if (assetValues.some(d => d.length === 0) || (rawInflationData && inflationData.length === 0)) {
            throw new Error("Could not load required financial data.");
        }

        
        const allData = {};
        const all_dfs = [...assetValues, inflationData].filter(Boolean);
        const max_start_year = Math.max(...all_dfs.map(df => df[0].year));
        const min_end_year = Math.min(...all_dfs.map(df => df[df.length - 1].year));

        
        for (let y = max_start_year; y <= min_end_year; ++y) {
            for (let m = 1; m <= 12; ++m) {
                const key = `${y}-${String(m).padStart(2, '0')}`;
                allData[key] = { year: y, month: m };
            }
        }

        
        assetValues.forEach((assetDf, i) => {
            for (const row of assetDf) {
                const key = `${row.year}-${String(row.month).padStart(2, '0')}`;
                if (allData[key]) {
                    allData[key][`asset_${i}`] = row.value;
                }
            }
        });

        
        for (const row of inflationData) {
            const key = `${row.year}-${String(row.month).padStart(2, '0')}`;
            if (allData[key]) {
                allData[key].inflation = row.value;
            }
        }

        
        Object.values(allData).forEach(dp => {
            for(let i = 0; i < assetValues.length; i++) {
                if (dp[`asset_${i}`] === undefined) dp[`asset_${i}`] = 1.0;
            }
            if (dp.inflation === undefined) dp.inflation = 1.0;
        });

        const allDataArray = Object.values(allData).sort((a, b) => a.year - b.year || a.month - b.month);

        
        const totalMonths = scenario.years * 12;
        const terminalValues = [];
        let bestTerminalValue = -Infinity;
        let bestTerminalValueStart = '';
        let worstTerminalValue = Infinity;
        let worstTerminalValueStart = '';
        let worstDurationMonths = totalMonths;
        let worstDurationStart = '';
        let successes = 0, failures = 0;

        const dataLookup = new Map(allDataArray.map(d => [`${d.year}-${d.month}`, d]));
        const allDataKeys = Array.from(dataLookup.keys()).sort();

        
        for (let year = scenario.startYear; year <= scenario.endYear - scenario.years; year++) {
            for (let month = 1; month <= 12; month++) {
                const startKey = `${year}-${month}`;
                const startIndex = allDataKeys.indexOf(startKey);

                if (startIndex === -1 || startIndex + totalMonths > allDataArray.length) {
                    continue;
                }

                const cohortData = allDataArray.slice(startIndex, startIndex + totalMonths);
                if (cohortData.length < totalMonths) continue;

                
                let currentValues = scenario.portfolio.map(p => scenario.initialValue * (p.allocation / 100));
                let portfolioAllocations = scenario.portfolio.map(p => p.allocation);

                let context = {
                    withdrawal: scenario.initialValue * (scenario.wr / 100),
                    minimum: scenario.initialValue * (scenario.minimum / 100),
                    targetValue: scenario.initialValue,
                    months: 1,
                    totalMonths: totalMonths
                };

                let cohortFailed = false;
                let monthsSurvived = 0;
                let monthInYear = 0;

                
                for (let j = 0; j < cohortData.length; j++) {
                    monthsSurvived = j + 1;
                    context.months = j + 1;
                    monthInYear = (j % 12);
                    const monthData = cohortData[j];

                    
                    for(let k = 0; k < scenario.portfolio.length; k++) {
                        currentValues[k] *= monthData[`asset_${k}`] || 1.0;
                    }

                    
                    let totalValue = currentValues.reduce((a, b) => a + b, 0);
                    if (totalValue <= 0) {
                        cohortFailed = true;
                        break;
                    }

                    
                    if (scenario.rebalance === 'monthly' && scenario.portfolio.length > 1) {
                        
                        currentValues = currentValues.map(val => val * (1.0 - MONTHLY_REBALANCING_COST / 100));
                        totalValue = currentValues.reduce((a, b) => a + b, 0);

                        if (totalValue <= 0) {
                            cohortFailed = true;
                            break;
                        }

                        
                        currentValues = portfolioAllocations.map(alloc => totalValue * (alloc / 100));
                    }

                    
                    if (scenario.rebalance === 'threshold' && scenario.portfolio.length > 1) {
                        let needsRebalance = false;
                        for (let k = 0; k < scenario.portfolio.length; k++) {
                            const currentAlloc = currentValues[k] / totalValue;
                            const targetAlloc = portfolioAllocations[k] / 100;
                            if (Math.abs(currentAlloc - targetAlloc) >= scenario.threshold / 100) {
                                needsRebalance = true;
                                break;
                            }
                        }

                        if (needsRebalance) {
                            
                            currentValues = currentValues.map(val => val * (1.0 - THRESHOLD_REBALANCING_COST / 100));
                            totalValue = currentValues.reduce((a, b) => a + b, 0);

                            if (totalValue <= 0) {
                                cohortFailed = true;
                                break;
                            }

                            
                            currentValues = portfolioAllocations.map(alloc => totalValue * (alloc / 100));
                        }
                    }

                    
                    if (scenario.fees > 0) {
                        const monthlyFee = scenario.fees / 12.0;
                        currentValues = currentValues.map(val => val * (1.0 - monthlyFee));
                        totalValue = currentValues.reduce((a, b) => a + b, 0);

                        if (totalValue <= 0) {
                            cohortFailed = true;
                            break;
                        }
                    }

                    
                    context.withdrawal *= monthData.inflation;
                    context.minimum *= monthData.inflation;
                    context.targetValue *= monthData.inflation;

                    
                    
                    
                    if (j % scenario.withdrawFrequency === 0) {
                        const periods = 12 / scenario.withdrawFrequency;
                        let withdrawalAmount;

                        if (scenario.withdrawalMethod === 'standard') {
                            withdrawalAmount = context.withdrawal / periods;
                        } else if (scenario.withdrawalMethod === 'current') {
                            withdrawalAmount = Math.max(
                                (totalValue * scenario.wr / 100) / periods,
                                context.minimum / periods
                            );
                        } else if (scenario.withdrawalMethod === 'vanguard') {
                            
                            withdrawalAmount = context.withdrawal / periods;
                        }

                        if (withdrawalAmount >= totalValue) {
                            cohortFailed = true;
                            break;
                        }

                        
                        const withdrawalPercentages = currentValues.map(val => val / totalValue);
                        currentValues = currentValues.map((val, k) =>
                            Math.max(0, val - (withdrawalAmount * withdrawalPercentages[k]))
                        );

                        totalValue = currentValues.reduce((a, b) => a + b, 0);
                        if (totalValue <= 0) {
                            cohortFailed = true;
                            break;
                        }
                    }

                    
                    if (monthInYear === 11 && scenario.rebalance === 'yearly' && scenario.portfolio.length > 1) {
                        
                        currentValues = currentValues.map(val => val * (1.0 - YEARLY_REBALANCING_COST / 100));
                        totalValue = currentValues.reduce((a, b) => a + b, 0);

                        if (totalValue <= 0) {
                            cohortFailed = true;
                            break;
                        }

                        
                        currentValues = portfolioAllocations.map(alloc => totalValue * (alloc / 100));
                    }
                }

                
                const finalValue = cohortFailed ? 0 : currentValues.reduce((a, b) => a + b, 0);
                const thresholdValue = scenario.finalInflation
                    ? scenario.finalThreshold * context.targetValue / 100
                    : scenario.finalThreshold * scenario.initialValue / 100;

                if (!cohortFailed && finalValue <= thresholdValue) {
                    cohortFailed = true;
                }

                terminalValues.push(finalValue);

                if (cohortFailed) {
                    failures++;
                    if (monthsSurvived < worstDurationMonths) {
                        worstDurationMonths = monthsSurvived;
                        worstDurationStart = `${month}/${year}`;
                    }
                    if (finalValue <= worstTerminalValue) {
                        worstTerminalValue = finalValue;
                        worstTerminalValueStart = `${month}/${year}`;
                    }
                } else {
                    successes++;
                }

                if (finalValue > bestTerminalValue) {
                    bestTerminalValue = finalValue;
                    bestTerminalValueStart = `${month}/${year}`;
                }
                if (finalValue < worstTerminalValue) {
                    worstTerminalValue = finalValue;
                    worstTerminalValueStart = `${month}/${year}`;
                }
            }
        }

        
        if (successes + failures === 0) {
            return {
                successRate: 0, successes: 0, failures: 0, totalScenarios: 0,
                bestTerminalValue: 0, bestTerminalValueStart: '',
                worstTerminalValue: 0, worstTerminalValueStart: '',
                worstDuration: 0, worstDurationStart: '',
                medianTerminalValue: 0, averageTerminalValue: 0,
                minTerminalValue: 0, maxTerminalValue: 0
            };
        }

        const totalScenarios = successes + failures;
        const successRate = 100 * (successes / totalScenarios);

        const averageTerminalValue = terminalValues.reduce((a, b) => a + b, 0) / terminalValues.length;
        terminalValues.sort((a, b) => a - b);
        const mid = Math.floor(terminalValues.length / 2);
        const medianTerminalValue = terminalValues.length % 2 === 0
            ? (terminalValues[mid - 1] + terminalValues[mid]) / 2
            : terminalValues[mid];

        return {
            successRate,
            successes,
            failures,
            totalScenarios,
            bestTerminalValue,
            bestTerminalValueStart,
            worstTerminalValue,
            worstTerminalValueStart,
            worstDuration: worstDurationMonths,
            worstDurationStart,
            medianTerminalValue,
            averageTerminalValue,
            minTerminalValue: terminalValues[0],
            maxTerminalValue: terminalValues[terminalValues.length - 1]
        };
    }

    
    calculateBtn.addEventListener('click', async () => {
        resultsDiv.style.display = 'block';
        resultsDiv.innerHTML = '<div class="swr-spinner"></div>';
        calculateBtn.disabled = true;
        calculateBtn.textContent = 'Calculating...';

        try {
            
            const totalAllocation = Array.from(portfolioListDiv.querySelectorAll('.swr-asset-allocation'))
                .reduce((sum, input) => sum + (parseFloat(input.value) || 0), 0);

            if (Math.abs(totalAllocation - 100) >= 0.01) {
                throw new Error("Total portfolio allocation must be exactly 100%.");
            }

            const initialValue = parseFloat(document.getElementById('swr-initial-value').value);
            if (initialValue <= 0) {
                throw new Error("Initial portfolio value must be greater than 0.");
            }

            
            const portfolioRows = portfolioListDiv.querySelectorAll('.swr-portfolio-asset-row');
            let portfolioAssets = Array.from(portfolioRows).map(row => ({
                asset: row.querySelector('.swr-asset-select').value,
                allocation: parseFloat(row.querySelector('.swr-asset-allocation').value) || 0,
            }));

            const scenario = {
                initialValue: initialValue,
                years: parseInt(document.getElementById('swr-years').value),
                startYear: parseInt(document.getElementById('swr-start-year').value),
                endYear: parseInt(document.getElementById('swr-end-year').value),
                wr: parseFloat(document.getElementById('swr-withdrawal-rate').value),
                fees: parseFloat(document.getElementById('swr-fees').value) / 100.0,
                portfolio: portfolioAssets.filter(p => p.allocation > 0),
                inflationData: document.getElementById('swr-inflation').value,
                withdrawFrequency: parseInt(document.getElementById('swr-withdraw-frequency').value),
                withdrawalMethod: document.getElementById('swr-withdrawal-method').value,
                minimum: parseFloat(document.getElementById('swr-minimum').value),
                rebalance: document.getElementById('swr-rebalance').value,
                threshold: parseFloat(document.getElementById('swr-threshold').value),
                finalThreshold: parseFloat(document.getElementById('swr-final-threshold').value),
                finalInflation: document.getElementById('swr-final-inflation').checked
            };

            if (scenario.portfolio.length === 0) {
                throw new Error("Portfolio must have at least one asset with an allocation greater than 0.");
            }
            if (scenario.years <= 0) {
                throw new Error("Number of years must be positive.");
            }

            
            const results = await runSimulation(scenario);

            
            resultsDiv.innerHTML = `
                <h4>Simulation Results</h4>
                <p><strong>Success Rate:</strong> ${results.successRate.toFixed(2)}%
                   (${results.successes} successes / ${results.totalScenarios} scenarios)</p>
                <p><strong>Failures:</strong> ${results.failures}</p>

                <h5 style="margin-top: 1.5rem; margin-bottom: 0.5rem;">Terminal Values</h5>
                <p><strong>Best:</strong> $${results.bestTerminalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}
                   (starting ${results.bestTerminalValueStart})</p>
                <p><strong>Worst:</strong> $${results.worstTerminalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}
                   (starting ${results.worstTerminalValueStart})</p>
                <p><strong>Median:</strong> $${results.medianTerminalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}</p>
                <p><strong>Average:</strong> $${results.averageTerminalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2})}</p>

                <h5 style="margin-top: 1.5rem; margin-bottom: 0.5rem;">Worst Case</h5>
                <p><strong>Worst Duration:</strong> ${results.worstDuration} months
                   (starting ${results.worstDurationStart})</p>
            `;
        } catch (error) {
            resultsDiv.innerHTML = `<div style="color: var(--swr-failure-color);"><strong>Error:</strong> ${error.message}</div>`;
            console.error(error);
        } finally {
            calculateBtn.textContent = 'Calculate Success Rate';
            calculateBtn.disabled = false;
        }
    });
})();
</script>

<p><strong>Quick Start — How to use this calculator</strong></p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    >For a comprehensive guide, refer to the <a href="/posts/how_to_use_the_swr_calculator_a_practical_guide/" >SWR Calculator Guide</a>.</span>
</div>

<ul>
<li>Enter your <strong>Initial Value</strong>, <strong>Years (horizon)</strong>, and <strong>Withdrawal Rate (%)</strong>.</li>
<li>Set your <strong>Start Year</strong> and <strong>End Year</strong> to define the historical window.</li>
<li>Choose your <strong>Withdrawal Frequency</strong>, <strong>Inflation Adjustment</strong>, and <strong>Rebalancing Strategy</strong>.</li>
<li>Build your <strong>Portfolio allocation</strong>; allocations must sum to <strong>exactly 100%</strong>.</li>
<li>Optionally set <strong>Annual Fees (%)</strong>.</li>
<li>Click <strong>Calculate</strong>. The tool runs monthly rolling simulations and shows success probability plus summary statistics.</li>
</ul>
<p>Notes:</p>
<ul>
<li>This calculator runs historical rolling-window simulations using embedded monthly return series. It does <u>NOT</u> run Monte Carlo simulations. I will have a separate calculator for that. Withdrawals can be inflation-adjusted (or not), and the portfolio can be rebalanced yearly or not at all.</li>
</ul>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This calculator reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/interactive_safe_withdrawal_rate_calculator.webp" medium="image"/></item><item><title>How to Use the Safe Withdrawal Rate (SWR) Calculator: A Practical Guide</title><link>https://libreleo.com/posts/how_to_use_the_swr_calculator_a_practical_guide/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://libreleo.com/posts/how_to_use_the_swr_calculator_a_practical_guide/</guid><description>Your step-by-step guide to mastering the Safe Withdrawal Rate (SWR) calculator. Learn what it does, how to use it, and how to interpret the results for confident retirement planning.</description><content:encoded><![CDATA[<div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
  You want to know how much you can safely spend each year? Welcome to my guide for the interactive Safe Withdrawal Rate (SWR) calculator. This post will walk you through exactly how the calculator works, what settings to use, and most importantly, how to confidently interpret the results.
</div>

<p>If you're ready, you can find the checklist here: <strong><a href="/posts/swr_checklist_practical_steps_for_retirement_withdrawal_planning" >SWR Checklist</a></strong>, or open the calculator and follow along: <strong><a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >SWR Calculator</a></strong>.</p>
<p><strong>Here's what I'll cover:</strong></p>
<ul>
<li>What the SWR Calculator <em>Really</em> Does</li>
<li>Your Toolkit: Understanding the Inputs</li>
<li>The Engine: How the Simulation Works</li>
<li>Step-by-Step: Running Your First Scenario</li>
<li>Making Sense of the Numbers: Understanding the Output</li>
<li>Pro-Tips and Limitations</li>
</ul>
<hr>

<h2 class="relative group">What the SWR Calculator <em>Really</em> Does
    <div id="what-the-swr-calculator-really-does" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-the-swr-calculator-really-does" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The calculator uses decades of historical market data to stress-test your retirement plan. For every possible starting month in your chosen timeframe, it runs a full simulation of your retirement, month by month, to see if your portfolio would have survived.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Historical Backtesting
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>This method is the gold standard for understanding how a strategy might have performed through a wide range of economic conditions, from bull markets to painful downturns. The calculator uses a historical dataset from 1871 up to today. Each year I will update the figures with the previous year's data.</p></div></div><p><strong>Key operational details:</strong></p>
<ul>
<li><strong>Monthly Precision:</strong> The simulation applies investment returns to each of your chosen assets every single month.</li>
<li><strong>Realistic Withdrawals:</strong> Your spending is modeled based on your selected <strong>Withdrawal Frequency</strong>. The tool calculates your initial annual withdrawal amount and then gives it a cost-of-living adjustment for inflation throughout the simulation.</li>
<li><strong>Fees Matter:</strong> It accounts for the slow drag of fees by applying your specified <strong>Annual Fees</strong> on a monthly basis.</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="success">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z"/></svg>
</span></div>
        <div class="grow">
          The Result
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>A powerful set of statistics that gives you a clear picture of your retirement plan's viability.</p></div></div><hr>

<h2 class="relative group">Your Toolkit: Understanding the Inputs
    <div id="your-toolkit-understanding-the-inputs" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#your-toolkit-understanding-the-inputs" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Getting a meaningful result starts with feeding the calculator the right data. Here's a breakdown of each setting:</p>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Core Settings">
          <span class="flex items-center gap-1">
            
            Core Settings
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Withdrawal Settings">
          <span class="flex items-center gap-1">
            
            Withdrawal Settings
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="2"
          data-tab-label="Portfolio Settings">
          <span class="flex items-center gap-1">
            
            Portfolio Settings
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        <h3 class="relative group">Core Settings
    <div id="core-settings" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#core-settings" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
	<thead>
			<tr>
					<th>Input</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Initial Value</strong></td>
					<td>The starting amount of your retirement nest egg (e.g., <code>1,000,000</code>)</td>
			</tr>
			<tr>
					<td><strong>Years</strong></td>
					<td>Your planned retirement duration (e.g., 30 years)</td>
			</tr>
			<tr>
					<td><strong>Start Year / End Year</strong></td>
					<td>The historical window you want to test against</td>
			</tr>
			<tr>
					<td><strong>Withdrawal Rate (%)</strong></td>
					<td>The percentage of your <em>initial</em> portfolio you'll withdraw in the first year</td>
			</tr>
	</tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Wider Historical Range
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>A wider date range gives you more scenarios and a more robust test. This is the core variable you'll be testing.</p></div></div>
      </div><div class="tab__panel " data-tab-index="1">
        
<h3 class="relative group">Withdrawal Settings
    <div id="withdrawal-settings" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#withdrawal-settings" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Withdrawal Frequency:</strong> How often you take withdrawals.</p>
<table>
	<thead>
			<tr>
					<th>Option</th>
					<th>Description</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Yearly</strong></td>
					<td>One withdrawal per year</td>
			</tr>
			<tr>
					<td><strong>Semi-Annually</strong></td>
					<td>Withdrawals every 6 months</td>
			</tr>
			<tr>
					<td><strong>Quarterly</strong></td>
					<td>Withdrawals every 3 months</td>
			</tr>
			<tr>
					<td><strong>Monthly</strong></td>
					<td>Monthly withdrawals</td>
			</tr>
	</tbody>
</table>
<p><strong>Inflation Data:</strong> Choose whether to adjust your withdrawals for inflation.</p>
<table>
	<thead>
			<tr>
					<th>Option</th>
					<th>Use Case</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>US Inflation</strong></td>
					<td>Maintain purchasing power over time</td>
			</tr>
			<tr>
					<td><strong>No Inflation</strong></td>
					<td>Keep withdrawals fixed (not recommended)</td>
			</tr>
	</tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Always Plan for Inflation
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>As a rule, always plan for inflation. Fixed withdrawals lose purchasing power over time.</p></div></div>
      </div><div class="tab__panel " data-tab-index="2">
        
<h3 class="relative group">Portfolio Settings
    <div id="portfolio-settings" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#portfolio-settings" aria-label="Anchor">#</a>
    </span>
    
</h3>
<p><strong>Portfolio Allocation:</strong> This is where you build your investment mix.</p>
<ul>
<li>Add multiple assets (like stocks and bonds)</li>
<li>Set their percentage allocation</li>
<li>For the calculator to run, your total allocation <strong>must equal 100%</strong></li>
</ul>
<p><strong>Annual Fees (%):</strong> The total expense ratio (TER) of your investments.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="danger">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
<path fill="currentColor"  d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/></svg></span></div>
        <div class="grow">
          Fees Add Up
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Even small fees compound over decades. Don't skip this input. It has a real impact on your results!</p></div></div>
      </div></div>
</div>

<hr>

<h2 class="relative group">The Engine: How the Simulation Works
    <div id="the-engine-how-the-simulation-works" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-engine-how-the-simulation-works" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Ever wonder what's happening behind the scenes? For each and every historical starting point, the calculator runs this simple, transparent loop:</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Simulation Process
        </div>
      </div></div><p><strong>1. Setup:</strong> It carves up your initial portfolio into the different asset buckets you defined.</p>
<p><strong>2. First Withdrawal:</strong> It calculates your starting annual withdrawal amount based on your chosen rate.</p>
<p><strong>3. Monthly Loop:</strong> For every month of your planned retirement, it does the following:</p>
<ul>
<li>Applies the historical return for that month to each of your assets</li>
<li>Deducts a small slice of the annual fee</li>
<li>If it's a withdrawal month, it takes out the inflation-adjusted spending amount</li>
<li>Checks if the portfolio has run out of money. If so, the simulation ends and is marked as a failure</li>
</ul>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="success">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z"/></svg>
</span></div>
        <div class="grow">
          Comprehensive Testing
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>This process repeats for hundreds of overlapping historical periods, giving you a powerful statistical overview of your plan's strengths and weaknesses.</p></div></div><hr>

<h2 class="relative group">Step-by-Step: Running Your First Scenario
    <div id="step-by-step-running-your-first-scenario" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-by-step-running-your-first-scenario" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Let's run a test together.</p>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Quick Start Guide
        </div>
      </div></div><ol>
<li>Fill in the main fields: <code>Initial Value</code>, <code>Years</code>, <code>Start/End Year</code>, <code>Withdrawal Rate (%)</code>, and <code>Annual Fees (%)</code></li>
<li>Choose your <code>Withdrawal Frequency</code> and set <code>Inflation Data</code> to &quot;US Inflation&quot;</li>
<li>Build your portfolio:
<ul>
<li>Use the &quot;Add Asset&quot; button</li>
<li>Adjust the percentages until the total is exactly 100%</li>
<li>The &quot;Total&quot; label will turn green when you're ready</li>
</ul>
</li>
<li>Click <strong>Calculate</strong></li>
</ol>
<p>The tool will now run all the simulations. When it's done, the results panel will appear with a summary of the findings.</p>
<hr>

<h2 class="relative group">Making Sense of the Numbers: Understanding the Output
    <div id="making-sense-of-the-numbers-understanding-the-output" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#making-sense-of-the-numbers-understanding-the-output" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Here's what each number means for you:</p>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Success Metrics">
          <span class="flex items-center gap-1">
            
            Success Metrics
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Terminal Values">
          <span class="flex items-center gap-1">
            
            Terminal Values
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        <h3 class="relative group">Success Metrics
    <div id="success-metrics" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#success-metrics" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
	<thead>
			<tr>
					<th>Metric</th>
					<th>What It Means</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Chance of Success</strong></td>
					<td>The headline number: the percentage of historical scenarios where your money lasted for the entire retirement period</td>
			</tr>
			<tr>
					<td><strong>Worst Duration</strong></td>
					<td>In failed scenarios, how long your money lasted in the absolute worst case</td>
			</tr>
	</tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="success">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z"/></svg>
</span></div>
        <div class="grow">
          What to Look For
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>A high success rate (90%+) means your plan survived most historical conditions. The worst duration tells you your margin of safety.</p></div></div>
      </div><div class="tab__panel " data-tab-index="1">
        <h3 class="relative group">Terminal Values
    <div id="terminal-values" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#terminal-values" aria-label="Anchor">#</a>
    </span>
    
</h3>
<table>
	<thead>
			<tr>
					<th>Metric</th>
					<th>What It Means</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Best Terminal Value</strong></td>
					<td>The highest final portfolio balance from all successful scenarios</td>
			</tr>
			<tr>
					<td><strong>Worst Terminal Value</strong></td>
					<td>The lowest final balance. If $0, at least one scenario failed</td>
			</tr>
			<tr>
					<td><strong>Median Terminal Value</strong></td>
					<td>The &quot;middle&quot; outcome. 50% ended higher, 50% ended lower</td>
			</tr>
			<tr>
					<td><strong>Average Terminal Value</strong></td>
					<td>The average final balance across all scenarios</td>
			</tr>
	</tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="info">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Interpreting Terminal Values
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>If the worst terminal value is positive, it shows the closest you ever came to running out of money while still succeeding.</p></div></div>
      </div></div>
</div>

<hr>

<h2 class="relative group">Pro-Tips and Limitations
    <div id="pro-tips-and-limitations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pro-tips-and-limitations" aria-label="Anchor">#</a>
    </span>
    
</h2>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Pro Tips">
          <span class="flex items-center gap-1">
            
            Pro Tips
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Limitations">
          <span class="flex items-center gap-1">
            
            Limitations
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        
<h3 class="relative group">Pro Tips
    <div id="pro-tips" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pro-tips" aria-label="Anchor">#</a>
    </span>
    
</h3>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Stress-Test Your Rate
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Don't just test one withdrawal rate. Try a few different ones (e.g., 3.0%, 3.5%, 4.0%) to understand how sensitive your plan is.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Keep It Simple
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Start with a simple allocation (like US Stocks and US Bonds) before adding more complexity.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Run Multiple Scenarios
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Test different retirement lengths (25, 30, 35 years) to see how duration affects your success rate.</p></div></div>
      </div><div class="tab__panel " data-tab-index="1">
        
<h3 class="relative group">Limitations
    <div id="limitations" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#limitations" aria-label="Anchor">#</a>
    </span>
    
</h3>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          Taxes Are Not Included
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>This calculator does not model taxes. Remember to account for taxes. Check your own circumstances.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="danger">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
<path fill="currentColor"  d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/></svg></span></div>
        <div class="grow">
          History is Only a Guide
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>This tool shows what <em>did</em> happen, not what <em>will</em> happen. A high success rate is a great confidence booster, but it's not a guarantee. Use it to make informed decisions, not to predict the future.</p></div></div><div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="warning">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M506.3 417l-213.3-364c-16.33-28-57.54-28-73.98 0l-213.2 364C-10.59 444.9 9.849 480 42.74 480h426.6C502.1 480 522.6 445 506.3 417zM232 168c0-13.25 10.75-24 24-24S280 154.8 280 168v128c0 13.25-10.75 24-23.1 24S232 309.3 232 296V168zM256 416c-17.36 0-31.44-14.08-31.44-31.44c0-17.36 14.07-31.44 31.44-31.44s31.44 14.08 31.44 31.44C287.4 401.9 273.4 416 256 416z"/></svg>
</span></div>
        <div class="grow">
          No Guarantees
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Past performance is not indicative of future results. Use this as one tool among many in your planning process.</p></div></div>
      </div></div>
</div>

<hr>

<h2 class="relative group">Quick Reference Summary
    <div id="quick-reference-summary" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#quick-reference-summary" aria-label="Anchor">#</a>
    </span>
    
</h2>
<table>
	<thead>
			<tr>
					<th>Step</th>
					<th>Action</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>1. Set Up</strong></td>
					<td>Enter initial value, years, and historical date range</td>
			</tr>
			<tr>
					<td><strong>2. Configure</strong></td>
					<td>Choose withdrawal rate, frequency, and inflation setting</td>
			</tr>
			<tr>
					<td><strong>3. Allocate</strong></td>
					<td>Build portfolio to exactly 100%</td>
			</tr>
			<tr>
					<td><strong>4. Calculate</strong></td>
					<td>Click Calculate and wait for results</td>
			</tr>
			<tr>
					<td><strong>5. Interpret</strong></td>
					<td>Focus on success rate and worst duration</td>
			</tr>
			<tr>
					<td><strong>6. Iterate</strong></td>
					<td>Test multiple scenarios to stress-test your plan</td>
			</tr>
	</tbody>
</table>
<p>Happy planning!</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This post reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/how_to_use_the_swr_calculator_a_practical_guide.webp" medium="image"/></item><item><title>Your Safe Withdrawal Rate (SWR) Checklist: A Simple Path to Confident Retirement Planning</title><link>https://libreleo.com/posts/swr-checklist-practical-steps-for-retirement-withdrawal-planning/</link><pubDate>Sat, 20 Dec 2025 00:00:00 +0000</pubDate><guid>https://libreleo.com/posts/swr-checklist-practical-steps-for-retirement-withdrawal-planning/</guid><description>A simple, step-by-step checklist for using the Safe Withdrawal Rate (SWR) calculator. Your practical guide to stress-testing your retirement withdrawal strategy.</description><content:encoded><![CDATA[<div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl">
  Planning your retirement withdrawals can feel complicated, but it doesn't have to be. This checklist is your simple, step-by-step companion to stress-testing your retirement plan.
</div>

<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="tip">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M112.1 454.3c0 6.297 1.816 12.44 5.284 17.69l17.14 25.69c5.25 7.875 17.17 14.28 26.64 14.28h61.67c9.438 0 21.36-6.401 26.61-14.28l17.08-25.68c2.938-4.438 5.348-12.37 5.348-17.7L272 415.1h-160L112.1 454.3zM191.4 .0132C89.44 .3257 16 82.97 16 175.1c0 44.38 16.44 84.84 43.56 115.8c16.53 18.84 42.34 58.23 52.22 91.45c.0313 .25 .0938 .5166 .125 .7823h160.2c.0313-.2656 .0938-.5166 .125-.7823c9.875-33.22 35.69-72.61 52.22-91.45C351.6 260.8 368 220.4 368 175.1C368 78.61 288.9-.2837 191.4 .0132zM192 96.01c-44.13 0-80 35.89-80 79.1C112 184.8 104.8 192 96 192S80 184.8 80 176c0-61.76 50.25-111.1 112-111.1c8.844 0 16 7.159 16 16S200.8 96.01 192 96.01z"/></svg>
</span></div>
        <div class="grow">
          Tip
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>Ready to run the numbers?</strong> Open the <a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >Safe Withdrawal Rate (SWR) Calculator</a> in another tab and follow along.</p></div></div><hr>

<h2 class="relative group">Step 1: Gather your key numbers
    <div id="step-1-gather-your-key-numbers" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-1-gather-your-key-numbers" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>Before you can test your plan, you need to know your starting point. The better your input, the better your output.</p>
<table>
	<thead>
			<tr>
					<th>Input</th>
					<th>What You Need</th>
					<th>Tips</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><strong>Initial Portfolio Value</strong></td>
					<td>Total amount of your retirement nest egg</td>
					<td>Only count invested assets</td>
			</tr>
			<tr>
					<td><strong>Retirement Duration</strong></td>
					<td>How many years you're planning for (30, 40, 50 years)</td>
					<td>Be realistic about longevity</td>
			</tr>
			<tr>
					<td><strong>Historical Period</strong></td>
					<td>Year range to test against</td>
					<td>Use full history (1871-2024) for best stress test</td>
			</tr>
			<tr>
					<td><strong>Withdrawal Rate (%)</strong></td>
					<td>First-year withdrawal as % of portfolio</td>
					<td>Start with 4%, adjust to your risk profile</td>
			</tr>
			<tr>
					<td><strong>Portfolio Allocation</strong></td>
					<td>How your money is invested</td>
					<td>Must add up to exactly 100%</td>
			</tr>
			<tr>
					<td><strong>Annual Fees</strong></td>
					<td>Total expense ratio (TER)</td>
					<td>Look up on <a href="https://seekingalpha.com/"  target="_blank" rel="noreferrer">Seeking Alpha</a></td>
			</tr>
			<tr>
					<td><strong>Inflation</strong></td>
					<td>Whether withdrawals adjust for cost of living</td>
					<td>Always select &quot;US Inflation&quot; for realistic planning</td>
			</tr>
			<tr>
					<td><strong>Withdrawal Frequency</strong></td>
					<td>How often you'll take money out</td>
					<td>Yearly, Semi-Annually, Quarterly, or Monthly</td>
			</tr>
	</tbody>
</table>
<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="note">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span></div>
        <div class="grow">
          Note
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p><strong>My personal approach:</strong> I'm using a 3.4% withdrawal rate. This works best for me. Yours might be different. Start with 4% and gradually adjust to fit your risk tolerance.</p></div></div><hr>

<h2 class="relative group">Step 2: Run the simulation
    <div id="step-2-run-the-simulation" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-2-run-the-simulation" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>With your numbers in hand, this is the easy part.</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Checklist:</strong></p>
<ul>
<li><input disabled="" type="checkbox"> Double-check all inputs make sense</li>
<li><input disabled="" type="checkbox"> Confirm portfolio allocation totals exactly 100% (label turns green)</li>
<li><input disabled="" type="checkbox"> Click &quot;Calculate&quot; and let the simulator run</li>
</ul>
<p>The calculator will test your plan against decades of historical market data.</p>
</span>
</div>

<hr>

<h2 class="relative group">Step 3: Understand your results
    <div id="step-3-understand-your-results" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#step-3-understand-your-results" aria-label="Anchor">#</a>
    </span>
    
</h2>
<p>The simulation is done. Here's how to translate the results into actionable insights, from most to least important:</p>

<h3 class="relative group">Key metrics explained
    <div id="key-metrics-explained" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#key-metrics-explained" aria-label="Anchor">#</a>
    </span>
    
</h3>
<div
  class="tab__container w-full"
  
  >
  <div class="tab__nav" role="tablist">
    <div class="flex flex-wrap gap-1"><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 tab--active"
          role="tab"
          aria-selected="true"
          data-tab-index="0"
          data-tab-label="Success Rate">
          <span class="flex items-center gap-1">
            
            Success Rate
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="1"
          data-tab-label="Worst Duration">
          <span class="flex items-center gap-1">
            
            Worst Duration
          </span>
        </button><button
          class="tab__button px-3 py-2 text-sm font-semibold border-b-2 border-transparent rounded-t-md hover:bg-neutral-200 dark:hover:bg-neutral-700 "
          role="tab"
          aria-selected="false"
          data-tab-index="2"
          data-tab-label="Terminal Values">
          <span class="flex items-center gap-1">
            
            Terminal Values
          </span>
        </button></div>
  </div>
  <div class="tab__content mt-4"><div class="tab__panel tab--active" data-tab-index="0">
        <p><strong>This is your headline number.</strong></p>
<p>The percentage of times your plan succeeded across all historical scenarios. A higher number means more resilience.</p>
<table>
	<thead>
			<tr>
					<th>Success Rate</th>
					<th>What It Means</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>95%+</td>
					<td>Very conservative, high confidence</td>
			</tr>
			<tr>
					<td>90-95%</td>
					<td>Strong plan, recommended target</td>
			</tr>
			<tr>
					<td>80-90%</td>
					<td>Acceptable, but monitor closely</td>
			</tr>
			<tr>
					<td>Below 80%</td>
					<td>Consider adjusting your plan</td>
			</tr>
	</tbody>
</table>
<p><strong>Ask yourself:</strong> What level of certainty do you feel comfortable with?</p>

      </div><div class="tab__panel " data-tab-index="1">
        <p><strong>Your margin of safety.</strong></p>
<p>In scenarios that failed, how long did your money last in the absolute worst case?</p>
<p>This tells you how much buffer you have before running out. If your worst duration is 25 years on a 30-year plan, you have a 5-year margin.</p>

      </div><div class="tab__panel " data-tab-index="2">
        <p><strong>Worst Terminal Value:</strong></p>
<ul>
<li>If $0 → Failures occurred in some scenarios</li>
<li>If positive → Your portfolio survived every single scenario</li>
</ul>
<p><strong>Median Terminal Value:</strong></p>
<ul>
<li>Your middle outcome</li>
<li>Realistic expectation, avoiding best/worst extremes</li>
<li>Often surprisingly high with conservative withdrawal rates</li>
</ul>

      </div></div>
</div>

<hr>

<h2 class="relative group">What to do next
    <div id="what-to-do-next" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-to-do-next" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #0f5132"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #75b798"
    
    >
    
  </span>

  <span
    
      style="color: #d1e7dd"
    
    ><p><strong>Not happy with the success rate?</strong></p>
<p>Go back to Step 1 and try a slightly lower withdrawal rate. You'll be amazed at how much a small change can improve your odds.</p>
<table>
	<thead>
			<tr>
					<th>Withdrawal Rate</th>
					<th>Typical Success Rate (30 years)</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>4.0%</td>
					<td>~95%</td>
			</tr>
			<tr>
					<td>3.5%</td>
					<td>~98%</td>
			</tr>
			<tr>
					<td>3.0%</td>
					<td>~99%+</td>
			</tr>
	</tbody>
</table>
</span>
</div>

<div class="admonition relative overflow-hidden rounded-lg border-l-4 my-3 px-4 py-3 shadow-sm" data-type="important">
      <div class="flex items-center gap-2 font-semibold text-inherit">
        <div class="flex shrink-0 h-5 w-5 items-center justify-center text-lg"><span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M287.9 0C297.1 0 305.5 5.25 309.5 13.52L378.1 154.8L531.4 177.5C540.4 178.8 547.8 185.1 550.7 193.7C553.5 202.4 551.2 211.9 544.8 218.2L433.6 328.4L459.9 483.9C461.4 492.9 457.7 502.1 450.2 507.4C442.8 512.7 432.1 513.4 424.9 509.1L287.9 435.9L150.1 509.1C142.9 513.4 133.1 512.7 125.6 507.4C118.2 502.1 114.5 492.9 115.1 483.9L142.2 328.4L31.11 218.2C24.65 211.9 22.36 202.4 25.2 193.7C28.03 185.1 35.5 178.8 44.49 177.5L197.7 154.8L266.3 13.52C270.4 5.249 278.7 0 287.9 0L287.9 0zM287.9 78.95L235.4 187.2C231.9 194.3 225.1 199.3 217.3 200.5L98.98 217.9L184.9 303C190.4 308.5 192.9 316.4 191.6 324.1L171.4 443.7L276.6 387.5C283.7 383.7 292.2 383.7 299.2 387.5L404.4 443.7L384.2 324.1C382.9 316.4 385.5 308.5 391 303L476.9 217.9L358.6 200.5C350.7 199.3 343.9 194.3 340.5 187.2L287.9 78.95z"/></svg></span></div>
        <div class="grow">
          Important
        </div>
      </div><div class="admonition-content mt-3 text-base leading-relaxed text-inherit"><p>Use this checklist anytime you want to test a new assumption or track your progress toward a secure retirement.</p></div></div><hr>

<h2 class="relative group">Related resources
    <div id="related-resources" class="anchor"></div>
    
    <span
        class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none">
        <a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#related-resources" aria-label="Anchor">#</a>
    </span>
    
</h2>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow" style="background-color: #1e3a5f"
  
  >
  <span
    
      class="pe-3 flex items-center" style="color: #60a5fa"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M172.5 131.1C228.1 75.51 320.5 75.51 376.1 131.1C426.1 181.1 433.5 260.8 392.4 318.3L391.3 319.9C381 334.2 361 337.6 346.7 327.3C332.3 317 328.9 297 339.2 282.7L340.3 281.1C363.2 249 359.6 205.1 331.7 177.2C300.3 145.8 249.2 145.8 217.7 177.2L105.5 289.5C73.99 320.1 73.99 372 105.5 403.5C133.3 431.4 177.3 435 209.3 412.1L210.9 410.1C225.3 400.7 245.3 404 255.5 418.4C265.8 432.8 262.5 452.8 248.1 463.1L246.5 464.2C188.1 505.3 110.2 498.7 60.21 448.8C3.741 392.3 3.741 300.7 60.21 244.3L172.5 131.1zM467.5 380C411 436.5 319.5 436.5 263 380C213 330 206.5 251.2 247.6 193.7L248.7 192.1C258.1 177.8 278.1 174.4 293.3 184.7C307.7 194.1 311.1 214.1 300.8 229.3L299.7 230.9C276.8 262.1 280.4 306.9 308.3 334.8C339.7 366.2 390.8 366.2 422.3 334.8L534.5 222.5C566 191 566 139.1 534.5 108.5C506.7 80.63 462.7 76.99 430.7 99.9L429.1 101C414.7 111.3 394.7 107.1 384.5 93.58C374.2 79.2 377.5 59.21 391.9 48.94L393.5 47.82C451 6.731 529.8 13.25 579.8 63.24C636.3 119.7 636.3 211.3 579.8 267.7L467.5 380z"/></svg>
</span>
  </span>

  <span
    
      style="color: #e2e8f0"
    
    ><p><strong>Dive Deeper:</strong></p>
<ul>
<li><strong><a href="/calculators/interactive_safe_withdrawal_rate_calculator/" >SWR Calculator</a></strong> - Run the simulation yourself</li>
<li><strong><a href="/posts/how_to_use_the_swr_calculator_a_practical_guide/" >How to Use the SWR Calculator: A Practical Guide</a></strong> - Full methodology walkthrough</li>
<li><strong><a href="/calculators/interactive_calculator_to_your_fire_number/" >FIRE Calculator</a></strong> - Calculate your financial independence number</li>
</ul></span>
</div>

<hr>
<p><strong>Questions or feedback?</strong> Drop me a comment below with what features you'd like to see in future SWR calculator updates!</p>

  
  
  
  



<div
  
    class="flex px-4 py-3 rounded-md shadow bg-primary-100 dark:bg-primary-900"
  
  >
  <span
    
      class="text-primary-400 pe-3 flex items-center"
    
    >
    <span class="relative block icon"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
</span>
  </span>

  <span
    
      class="dark:text-neutral-300"
    
    ><strong>Disclaimer:</strong> This post reflects my personal views and is for educational purposes only. It is not financial advice. Every situation is different. Always check your country's specific tax and investment rules before acting. See the full <a href="/disclaimer/" >Disclaimer</a> and <a href="/privacy/" >Privacy Policy</a> for the long version.</span>
</div>

]]></content:encoded><media:content url="https://libreleo.com/img/featured/swr-checklist-practical-steps-for-retirement-withdrawal-planning.webp" medium="image"/></item></channel></rss>