package Common::DatePeriod;

use constant 'STARTDATE' => '1916-08-01';
use constant 'TIMEZONE'  => 'America/Los_Angeles';

use strict;
use warnings;

use vars qw(@ISA @EXPORT);

use Exporter;
use DateTime;
use DateTime::Format::MySQL;

@ISA    = qw(Exporter);
@EXPORT = qw(getMonthByDate getMonthQuarterByDate getQuarterByDate getQuarterByMonthId);

sub getMinuteId {
    my $dtime = DateTime->now;
    $dtime->set_time_zone(TIMEZONE);
    ( $dtime->hour * 60 ) + $dtime->minute;
}

sub getMonthByDate {
    my $datestr = shift;
    my $start   = DateTime::Format::MySQL->parse_date(STARTDATE);
    my $date    = DateTime::Format::MySQL->parse_date($datestr);
    my $monthId = abs( $start->subtract_datetime($date)->in_units('months') );
    $monthId;
}

sub getMonthQuarterByDate {
    my $datestr   = shift;
    my $monthId   = getMonthByDate($datestr);
    my $quarterId = _quarter($monthId);
    ( $monthId, $quarterId );
}

sub getQuarterByDate {
    my $datestr   = shift;
    my $monthId   = getMonthByDate($datestr);
    my $quarterId = _quarter($monthId);
    $quarterId;
}

sub getQuarterByMonthId {
    my $monthId   = shift;
    my $quarterId = _quarter($monthId);
    $quarterId;
}

sub _quarter {
    my $id  = shift;
    my $qid = {
        '1'    => '667',
        '2'    => '668',
        '3'    => '668',
        '4'    => '668',
        '5'    => '669',
        '6'    => '669',
        '7'    => '669',
        '8'    => '670',
        '9'    => '670',
        '10'   => '670',
        '11'   => '671',
        '12'   => '671',
        '13'   => '671',
        '14'   => '672',
        '15'   => '672',
        '16'   => '672',
        '17'   => '673',
        '18'   => '673',
        '19'   => '673',
        '20'   => '674',
        '21'   => '674',
        '22'   => '674',
        '23'   => '675',
        '24'   => '675',
        '25'   => '675',
        '26'   => '676',
        '27'   => '676',
        '28'   => '676',
        '29'   => '677',
        '30'   => '677',
        '31'   => '677',
        '32'   => '678',
        '33'   => '678',
        '34'   => '678',
        '35'   => '679',
        '36'   => '679',
        '37'   => '679',
        '38'   => '680',
        '39'   => '680',
        '40'   => '680',
        '41'   => '681',
        '42'   => '681',
        '43'   => '681',
        '44'   => '682',
        '45'   => '682',
        '46'   => '682',
        '47'   => '683',
        '48'   => '683',
        '49'   => '683',
        '50'   => '684',
        '51'   => '684',
        '52'   => '684',
        '53'   => '685',
        '54'   => '685',
        '55'   => '685',
        '56'   => '686',
        '57'   => '686',
        '58'   => '686',
        '59'   => '687',
        '60'   => '687',
        '61'   => '687',
        '62'   => '688',
        '63'   => '688',
        '64'   => '688',
        '65'   => '689',
        '66'   => '689',
        '67'   => '689',
        '68'   => '690',
        '69'   => '690',
        '70'   => '690',
        '71'   => '691',
        '72'   => '691',
        '73'   => '691',
        '74'   => '692',
        '75'   => '692',
        '76'   => '692',
        '77'   => '693',
        '78'   => '693',
        '79'   => '693',
        '80'   => '694',
        '81'   => '694',
        '82'   => '694',
        '83'   => '695',
        '84'   => '695',
        '85'   => '695',
        '86'   => '696',
        '87'   => '696',
        '88'   => '696',
        '89'   => '697',
        '90'   => '697',
        '91'   => '697',
        '92'   => '698',
        '93'   => '698',
        '94'   => '698',
        '95'   => '699',
        '96'   => '699',
        '97'   => '699',
        '98'   => '700',
        '99'   => '700',
        '100'  => '700',
        '101'  => '701',
        '102'  => '701',
        '103'  => '701',
        '104'  => '702',
        '105'  => '702',
        '106'  => '702',
        '107'  => '703',
        '108'  => '703',
        '109'  => '703',
        '110'  => '704',
        '111'  => '704',
        '112'  => '704',
        '113'  => '705',
        '114'  => '705',
        '115'  => '705',
        '116'  => '706',
        '117'  => '706',
        '118'  => '706',
        '119'  => '707',
        '120'  => '707',
        '121'  => '707',
        '122'  => '708',
        '123'  => '708',
        '124'  => '708',
        '125'  => '709',
        '126'  => '709',
        '127'  => '709',
        '128'  => '710',
        '129'  => '710',
        '130'  => '710',
        '131'  => '711',
        '132'  => '711',
        '133'  => '711',
        '134'  => '712',
        '135'  => '712',
        '136'  => '712',
        '137'  => '713',
        '138'  => '713',
        '139'  => '713',
        '140'  => '714',
        '141'  => '714',
        '142'  => '714',
        '143'  => '715',
        '144'  => '715',
        '145'  => '715',
        '146'  => '716',
        '147'  => '716',
        '148'  => '716',
        '149'  => '717',
        '150'  => '717',
        '151'  => '717',
        '152'  => '718',
        '153'  => '718',
        '154'  => '718',
        '155'  => '719',
        '156'  => '719',
        '157'  => '719',
        '158'  => '720',
        '159'  => '720',
        '160'  => '720',
        '161'  => '721',
        '162'  => '721',
        '163'  => '721',
        '164'  => '722',
        '165'  => '722',
        '166'  => '722',
        '167'  => '723',
        '168'  => '723',
        '169'  => '723',
        '170'  => '724',
        '171'  => '724',
        '172'  => '724',
        '173'  => '725',
        '174'  => '725',
        '175'  => '725',
        '176'  => '726',
        '177'  => '726',
        '178'  => '726',
        '179'  => '727',
        '180'  => '727',
        '181'  => '727',
        '182'  => '728',
        '183'  => '728',
        '184'  => '728',
        '185'  => '729',
        '186'  => '729',
        '187'  => '729',
        '188'  => '730',
        '189'  => '730',
        '190'  => '730',
        '191'  => '731',
        '192'  => '731',
        '193'  => '731',
        '194'  => '732',
        '195'  => '732',
        '196'  => '732',
        '197'  => '733',
        '198'  => '733',
        '199'  => '733',
        '200'  => '734',
        '201'  => '734',
        '202'  => '734',
        '203'  => '735',
        '204'  => '735',
        '205'  => '735',
        '206'  => '736',
        '207'  => '736',
        '208'  => '736',
        '209'  => '737',
        '210'  => '737',
        '211'  => '737',
        '212'  => '738',
        '213'  => '738',
        '214'  => '738',
        '215'  => '739',
        '216'  => '739',
        '217'  => '739',
        '218'  => '740',
        '219'  => '740',
        '220'  => '740',
        '221'  => '741',
        '222'  => '741',
        '223'  => '741',
        '224'  => '742',
        '225'  => '742',
        '226'  => '742',
        '227'  => '743',
        '228'  => '743',
        '229'  => '743',
        '230'  => '744',
        '231'  => '744',
        '232'  => '744',
        '233'  => '745',
        '234'  => '745',
        '235'  => '745',
        '236'  => '746',
        '237'  => '746',
        '238'  => '746',
        '239'  => '747',
        '240'  => '747',
        '241'  => '747',
        '242'  => '748',
        '243'  => '748',
        '244'  => '748',
        '245'  => '749',
        '246'  => '749',
        '247'  => '749',
        '248'  => '750',
        '249'  => '750',
        '250'  => '750',
        '251'  => '751',
        '252'  => '751',
        '253'  => '751',
        '254'  => '752',
        '255'  => '752',
        '256'  => '752',
        '257'  => '753',
        '258'  => '753',
        '259'  => '753',
        '260'  => '754',
        '261'  => '754',
        '262'  => '754',
        '263'  => '755',
        '264'  => '755',
        '265'  => '755',
        '266'  => '756',
        '267'  => '756',
        '268'  => '756',
        '269'  => '757',
        '270'  => '757',
        '271'  => '757',
        '272'  => '758',
        '273'  => '758',
        '274'  => '758',
        '275'  => '759',
        '276'  => '759',
        '277'  => '759',
        '278'  => '760',
        '279'  => '760',
        '280'  => '760',
        '281'  => '761',
        '282'  => '761',
        '283'  => '761',
        '284'  => '762',
        '285'  => '762',
        '286'  => '762',
        '287'  => '763',
        '288'  => '763',
        '289'  => '763',
        '290'  => '764',
        '291'  => '764',
        '292'  => '764',
        '293'  => '765',
        '294'  => '765',
        '295'  => '765',
        '296'  => '766',
        '297'  => '766',
        '298'  => '766',
        '299'  => '767',
        '300'  => '767',
        '301'  => '767',
        '302'  => '768',
        '303'  => '768',
        '304'  => '768',
        '305'  => '769',
        '306'  => '769',
        '307'  => '769',
        '308'  => '770',
        '309'  => '770',
        '310'  => '770',
        '311'  => '771',
        '312'  => '771',
        '313'  => '771',
        '314'  => '772',
        '315'  => '772',
        '316'  => '772',
        '317'  => '773',
        '318'  => '773',
        '319'  => '773',
        '320'  => '774',
        '321'  => '774',
        '322'  => '774',
        '323'  => '775',
        '324'  => '775',
        '325'  => '775',
        '326'  => '776',
        '327'  => '776',
        '328'  => '776',
        '329'  => '777',
        '330'  => '777',
        '331'  => '777',
        '332'  => '778',
        '333'  => '778',
        '334'  => '778',
        '335'  => '779',
        '336'  => '779',
        '337'  => '779',
        '338'  => '780',
        '339'  => '780',
        '340'  => '780',
        '341'  => '781',
        '342'  => '781',
        '343'  => '781',
        '344'  => '782',
        '345'  => '782',
        '346'  => '782',
        '347'  => '783',
        '348'  => '783',
        '349'  => '783',
        '350'  => '784',
        '351'  => '784',
        '352'  => '784',
        '353'  => '785',
        '354'  => '785',
        '355'  => '785',
        '356'  => '786',
        '357'  => '786',
        '358'  => '786',
        '359'  => '787',
        '360'  => '787',
        '361'  => '787',
        '362'  => '788',
        '363'  => '788',
        '364'  => '788',
        '365'  => '789',
        '366'  => '789',
        '367'  => '789',
        '368'  => '790',
        '369'  => '790',
        '370'  => '790',
        '371'  => '791',
        '372'  => '791',
        '373'  => '791',
        '374'  => '792',
        '375'  => '792',
        '376'  => '792',
        '377'  => '793',
        '378'  => '793',
        '379'  => '793',
        '380'  => '794',
        '381'  => '794',
        '382'  => '794',
        '383'  => '795',
        '384'  => '795',
        '385'  => '795',
        '386'  => '796',
        '387'  => '796',
        '388'  => '796',
        '389'  => '797',
        '390'  => '797',
        '391'  => '797',
        '392'  => '798',
        '393'  => '798',
        '394'  => '798',
        '395'  => '799',
        '396'  => '799',
        '397'  => '799',
        '398'  => '800',
        '399'  => '800',
        '400'  => '800',
        '401'  => '801',
        '402'  => '801',
        '403'  => '801',
        '404'  => '802',
        '405'  => '802',
        '406'  => '802',
        '407'  => '803',
        '408'  => '803',
        '409'  => '803',
        '410'  => '804',
        '411'  => '804',
        '412'  => '804',
        '413'  => '805',
        '414'  => '805',
        '415'  => '805',
        '416'  => '806',
        '417'  => '806',
        '418'  => '806',
        '419'  => '807',
        '420'  => '807',
        '421'  => '807',
        '422'  => '808',
        '423'  => '808',
        '424'  => '808',
        '425'  => '809',
        '426'  => '809',
        '427'  => '809',
        '428'  => '810',
        '429'  => '810',
        '430'  => '810',
        '431'  => '811',
        '432'  => '811',
        '433'  => '811',
        '434'  => '812',
        '435'  => '812',
        '436'  => '812',
        '437'  => '813',
        '438'  => '813',
        '439'  => '813',
        '440'  => '814',
        '441'  => '814',
        '442'  => '814',
        '443'  => '815',
        '444'  => '815',
        '445'  => '815',
        '446'  => '816',
        '447'  => '816',
        '448'  => '816',
        '449'  => '817',
        '450'  => '817',
        '451'  => '817',
        '452'  => '818',
        '453'  => '818',
        '454'  => '818',
        '455'  => '819',
        '456'  => '819',
        '457'  => '819',
        '458'  => '820',
        '459'  => '820',
        '460'  => '820',
        '461'  => '821',
        '462'  => '821',
        '463'  => '821',
        '464'  => '822',
        '465'  => '822',
        '466'  => '822',
        '467'  => '823',
        '468'  => '823',
        '469'  => '823',
        '470'  => '824',
        '471'  => '824',
        '472'  => '824',
        '473'  => '825',
        '474'  => '825',
        '475'  => '825',
        '476'  => '826',
        '477'  => '826',
        '478'  => '826',
        '479'  => '827',
        '480'  => '827',
        '481'  => '827',
        '482'  => '828',
        '483'  => '828',
        '484'  => '828',
        '485'  => '829',
        '486'  => '829',
        '487'  => '829',
        '488'  => '830',
        '489'  => '830',
        '490'  => '830',
        '491'  => '831',
        '492'  => '831',
        '493'  => '831',
        '494'  => '832',
        '495'  => '832',
        '496'  => '832',
        '497'  => '833',
        '498'  => '833',
        '499'  => '833',
        '500'  => '834',
        '501'  => '834',
        '502'  => '834',
        '503'  => '835',
        '504'  => '835',
        '505'  => '835',
        '506'  => '836',
        '507'  => '836',
        '508'  => '836',
        '509'  => '837',
        '510'  => '837',
        '511'  => '837',
        '512'  => '838',
        '513'  => '838',
        '514'  => '838',
        '515'  => '839',
        '516'  => '839',
        '517'  => '839',
        '518'  => '840',
        '519'  => '840',
        '520'  => '840',
        '521'  => '841',
        '522'  => '841',
        '523'  => '841',
        '524'  => '842',
        '525'  => '842',
        '526'  => '842',
        '527'  => '843',
        '528'  => '843',
        '529'  => '843',
        '530'  => '844',
        '531'  => '844',
        '532'  => '844',
        '533'  => '845',
        '534'  => '845',
        '535'  => '845',
        '536'  => '846',
        '537'  => '846',
        '538'  => '846',
        '539'  => '847',
        '540'  => '847',
        '541'  => '847',
        '542'  => '848',
        '543'  => '848',
        '544'  => '848',
        '545'  => '849',
        '546'  => '849',
        '547'  => '849',
        '548'  => '850',
        '549'  => '850',
        '550'  => '850',
        '551'  => '851',
        '552'  => '851',
        '553'  => '851',
        '554'  => '852',
        '555'  => '852',
        '556'  => '852',
        '557'  => '853',
        '558'  => '853',
        '559'  => '853',
        '560'  => '854',
        '561'  => '854',
        '562'  => '854',
        '563'  => '855',
        '564'  => '855',
        '565'  => '855',
        '566'  => '856',
        '567'  => '856',
        '568'  => '856',
        '569'  => '857',
        '570'  => '857',
        '571'  => '857',
        '572'  => '858',
        '573'  => '858',
        '574'  => '858',
        '575'  => '859',
        '576'  => '859',
        '577'  => '859',
        '578'  => '860',
        '579'  => '860',
        '580'  => '860',
        '581'  => '861',
        '582'  => '861',
        '583'  => '861',
        '584'  => '862',
        '585'  => '862',
        '586'  => '862',
        '587'  => '863',
        '588'  => '863',
        '589'  => '863',
        '590'  => '864',
        '591'  => '864',
        '592'  => '864',
        '593'  => '865',
        '594'  => '865',
        '595'  => '865',
        '596'  => '866',
        '597'  => '866',
        '598'  => '866',
        '599'  => '867',
        '600'  => '867',
        '601'  => '867',
        '602'  => '868',
        '603'  => '868',
        '604'  => '868',
        '605'  => '869',
        '606'  => '869',
        '607'  => '869',
        '608'  => '870',
        '609'  => '870',
        '610'  => '870',
        '611'  => '871',
        '612'  => '871',
        '613'  => '871',
        '614'  => '872',
        '615'  => '872',
        '616'  => '872',
        '617'  => '873',
        '618'  => '873',
        '619'  => '873',
        '620'  => '874',
        '621'  => '874',
        '622'  => '874',
        '623'  => '875',
        '624'  => '875',
        '625'  => '875',
        '626'  => '876',
        '627'  => '876',
        '628'  => '876',
        '629'  => '877',
        '630'  => '877',
        '631'  => '877',
        '632'  => '878',
        '633'  => '878',
        '634'  => '878',
        '635'  => '879',
        '636'  => '879',
        '637'  => '879',
        '638'  => '880',
        '639'  => '880',
        '640'  => '880',
        '641'  => '881',
        '642'  => '881',
        '643'  => '881',
        '644'  => '882',
        '645'  => '882',
        '646'  => '882',
        '647'  => '883',
        '648'  => '883',
        '649'  => '883',
        '650'  => '884',
        '651'  => '884',
        '652'  => '884',
        '653'  => '885',
        '654'  => '885',
        '655'  => '885',
        '656'  => '886',
        '657'  => '886',
        '658'  => '886',
        '659'  => '887',
        '660'  => '887',
        '661'  => '887',
        '662'  => '888',
        '663'  => '888',
        '664'  => '888',
        '665'  => '889',
        '666'  => '889',
        '667'  => '889',
        '668'  => '890',
        '669'  => '890',
        '670'  => '890',
        '671'  => '891',
        '672'  => '891',
        '673'  => '891',
        '674'  => '892',
        '675'  => '892',
        '676'  => '892',
        '677'  => '893',
        '678'  => '893',
        '679'  => '893',
        '680'  => '894',
        '681'  => '894',
        '682'  => '894',
        '683'  => '895',
        '684'  => '895',
        '685'  => '895',
        '686'  => '896',
        '687'  => '896',
        '688'  => '896',
        '689'  => '897',
        '690'  => '897',
        '691'  => '897',
        '692'  => '898',
        '693'  => '898',
        '694'  => '898',
        '695'  => '899',
        '696'  => '899',
        '697'  => '899',
        '698'  => '900',
        '699'  => '900',
        '700'  => '900',
        '701'  => '901',
        '702'  => '901',
        '703'  => '901',
        '704'  => '902',
        '705'  => '902',
        '706'  => '902',
        '707'  => '903',
        '708'  => '903',
        '709'  => '903',
        '710'  => '904',
        '711'  => '904',
        '712'  => '904',
        '713'  => '905',
        '714'  => '905',
        '715'  => '905',
        '716'  => '906',
        '717'  => '906',
        '718'  => '906',
        '719'  => '907',
        '720'  => '907',
        '721'  => '907',
        '722'  => '908',
        '723'  => '908',
        '724'  => '908',
        '725'  => '909',
        '726'  => '909',
        '727'  => '909',
        '728'  => '910',
        '729'  => '910',
        '730'  => '910',
        '731'  => '911',
        '732'  => '911',
        '733'  => '911',
        '734'  => '912',
        '735'  => '912',
        '736'  => '912',
        '737'  => '913',
        '738'  => '913',
        '739'  => '913',
        '740'  => '914',
        '741'  => '914',
        '742'  => '914',
        '743'  => '915',
        '744'  => '915',
        '745'  => '915',
        '746'  => '916',
        '747'  => '916',
        '748'  => '916',
        '749'  => '917',
        '750'  => '917',
        '751'  => '917',
        '752'  => '918',
        '753'  => '918',
        '754'  => '918',
        '755'  => '919',
        '756'  => '919',
        '757'  => '919',
        '758'  => '920',
        '759'  => '920',
        '760'  => '920',
        '761'  => '921',
        '762'  => '921',
        '763'  => '921',
        '764'  => '922',
        '765'  => '922',
        '766'  => '922',
        '767'  => '923',
        '768'  => '923',
        '769'  => '923',
        '770'  => '924',
        '771'  => '924',
        '772'  => '924',
        '773'  => '925',
        '774'  => '925',
        '775'  => '925',
        '776'  => '926',
        '777'  => '926',
        '778'  => '926',
        '779'  => '927',
        '780'  => '927',
        '781'  => '927',
        '782'  => '928',
        '783'  => '928',
        '784'  => '928',
        '785'  => '929',
        '786'  => '929',
        '787'  => '929',
        '788'  => '930',
        '789'  => '930',
        '790'  => '930',
        '791'  => '931',
        '792'  => '931',
        '793'  => '931',
        '794'  => '932',
        '795'  => '932',
        '796'  => '932',
        '797'  => '933',
        '798'  => '933',
        '799'  => '933',
        '800'  => '934',
        '801'  => '934',
        '802'  => '934',
        '803'  => '935',
        '804'  => '935',
        '805'  => '935',
        '806'  => '936',
        '807'  => '936',
        '808'  => '936',
        '809'  => '937',
        '810'  => '937',
        '811'  => '937',
        '812'  => '938',
        '813'  => '938',
        '814'  => '938',
        '815'  => '939',
        '816'  => '939',
        '817'  => '939',
        '818'  => '940',
        '819'  => '940',
        '820'  => '940',
        '821'  => '941',
        '822'  => '941',
        '823'  => '941',
        '824'  => '942',
        '825'  => '942',
        '826'  => '942',
        '827'  => '943',
        '828'  => '943',
        '829'  => '943',
        '830'  => '944',
        '831'  => '944',
        '832'  => '944',
        '833'  => '945',
        '834'  => '945',
        '835'  => '945',
        '836'  => '946',
        '837'  => '946',
        '838'  => '946',
        '839'  => '947',
        '840'  => '947',
        '841'  => '947',
        '842'  => '948',
        '843'  => '948',
        '844'  => '948',
        '845'  => '949',
        '846'  => '949',
        '847'  => '949',
        '848'  => '950',
        '849'  => '950',
        '850'  => '950',
        '851'  => '951',
        '852'  => '951',
        '853'  => '951',
        '854'  => '952',
        '855'  => '952',
        '856'  => '952',
        '857'  => '953',
        '858'  => '953',
        '859'  => '953',
        '860'  => '954',
        '861'  => '954',
        '862'  => '954',
        '863'  => '955',
        '864'  => '955',
        '865'  => '955',
        '866'  => '956',
        '867'  => '956',
        '868'  => '956',
        '869'  => '957',
        '870'  => '957',
        '871'  => '957',
        '872'  => '958',
        '873'  => '958',
        '874'  => '958',
        '875'  => '959',
        '876'  => '959',
        '877'  => '959',
        '878'  => '960',
        '879'  => '960',
        '880'  => '960',
        '881'  => '961',
        '882'  => '961',
        '883'  => '961',
        '884'  => '962',
        '885'  => '962',
        '886'  => '962',
        '887'  => '963',
        '888'  => '963',
        '889'  => '963',
        '890'  => '964',
        '891'  => '964',
        '892'  => '964',
        '893'  => '965',
        '894'  => '965',
        '895'  => '965',
        '896'  => '966',
        '897'  => '966',
        '898'  => '966',
        '899'  => '967',
        '900'  => '967',
        '901'  => '967',
        '902'  => '968',
        '903'  => '968',
        '904'  => '968',
        '905'  => '969',
        '906'  => '969',
        '907'  => '969',
        '908'  => '970',
        '909'  => '970',
        '910'  => '970',
        '911'  => '971',
        '912'  => '971',
        '913'  => '971',
        '914'  => '972',
        '915'  => '972',
        '916'  => '972',
        '917'  => '973',
        '918'  => '973',
        '919'  => '973',
        '920'  => '974',
        '921'  => '974',
        '922'  => '974',
        '923'  => '975',
        '924'  => '975',
        '925'  => '975',
        '926'  => '976',
        '927'  => '976',
        '928'  => '976',
        '929'  => '977',
        '930'  => '977',
        '931'  => '977',
        '932'  => '978',
        '933'  => '978',
        '934'  => '978',
        '935'  => '979',
        '936'  => '979',
        '937'  => '979',
        '938'  => '980',
        '939'  => '980',
        '940'  => '980',
        '941'  => '981',
        '942'  => '981',
        '943'  => '981',
        '944'  => '982',
        '945'  => '982',
        '946'  => '982',
        '947'  => '983',
        '948'  => '983',
        '949'  => '983',
        '950'  => '984',
        '951'  => '984',
        '952'  => '984',
        '953'  => '985',
        '954'  => '985',
        '955'  => '985',
        '956'  => '986',
        '957'  => '986',
        '958'  => '986',
        '959'  => '987',
        '960'  => '987',
        '961'  => '987',
        '962'  => '988',
        '963'  => '988',
        '964'  => '988',
        '965'  => '989',
        '966'  => '989',
        '967'  => '989',
        '968'  => '990',
        '969'  => '990',
        '970'  => '990',
        '971'  => '991',
        '972'  => '991',
        '973'  => '991',
        '974'  => '992',
        '975'  => '992',
        '976'  => '992',
        '977'  => '993',
        '978'  => '993',
        '979'  => '993',
        '980'  => '994',
        '981'  => '994',
        '982'  => '994',
        '983'  => '995',
        '984'  => '995',
        '985'  => '995',
        '986'  => '996',
        '987'  => '996',
        '988'  => '996',
        '989'  => '997',
        '990'  => '997',
        '991'  => '997',
        '992'  => '998',
        '993'  => '998',
        '994'  => '998',
        '995'  => '999',
        '996'  => '999',
        '997'  => '999',
        '998'  => '1000',
        '999'  => '1000',
        '1000' => '1000',
        '1001' => '1001',
        '1002' => '1001',
        '1003' => '1001',
        '1004' => '1002',
        '1005' => '1002',
        '1006' => '1002',
        '1007' => '1003',
        '1008' => '1003',
        '1009' => '1003',
        '1010' => '1004',
        '1011' => '1004',
        '1012' => '1004',
        '1013' => '1005',
        '1014' => '1005',
        '1015' => '1005',
        '1016' => '1006',
        '1017' => '1006',
        '1018' => '1006',
        '1019' => '1007',
        '1020' => '1007',
        '1021' => '1007',
        '1022' => '1008',
        '1023' => '1008',
        '1024' => '1008',
        '1025' => '1009',
        '1026' => '1009',
        '1027' => '1009',
        '1028' => '1010',
        '1029' => '1010',
        '1030' => '1010',
        '1031' => '1011',
        '1032' => '1011',
        '1033' => '1011',
        '1034' => '1012',
        '1035' => '1012',
        '1036' => '1012',
        '1037' => '1013',
        '1038' => '1013',
        '1039' => '1013',
        '1040' => '1014',
        '1041' => '1014',
        '1042' => '1014',
        '1043' => '1015',
        '1044' => '1015',
        '1045' => '1015',
        '1046' => '1016',
        '1047' => '1016',
        '1048' => '1016',
        '1049' => '1017',
        '1050' => '1017',
        '1051' => '1017',
        '1052' => '1018',
        '1053' => '1018',
        '1054' => '1018',
        '1055' => '1019',
        '1056' => '1019',
        '1057' => '1019',
        '1058' => '1020',
        '1059' => '1020',
        '1060' => '1020',
        '1061' => '1021',
        '1062' => '1021',
        '1063' => '1021',
        '1064' => '1022',
        '1065' => '1022',
        '1066' => '1022',
        '1067' => '1023',
        '1068' => '1023',
        '1069' => '1023',
        '1070' => '1024',
        '1071' => '1024',
        '1072' => '1024',
        '1073' => '1025',
        '1074' => '1025',
        '1075' => '1025',
        '1076' => '1026',
        '1077' => '1026',
        '1078' => '1026',
        '1079' => '1027',
        '1080' => '1027',
        '1081' => '1027',
        '1082' => '1028',
        '1083' => '1028',
        '1084' => '1028',
        '1085' => '1029',
        '1086' => '1029',
        '1087' => '1029',
        '1088' => '1030',
        '1089' => '1030',
        '1090' => '1030',
        '1091' => '1031',
        '1092' => '1031',
        '1093' => '1031',
        '1094' => '1032',
        '1095' => '1032',
        '1096' => '1032',
        '1097' => '1033',
        '1098' => '1033',
        '1099' => '1033',
        '1100' => '1034',
        '1101' => '1034',
        '1102' => '1034',
        '1103' => '1035',
        '1104' => '1035',
        '1105' => '1035',
        '1106' => '1036',
        '1107' => '1036',
        '1108' => '1036',
        '1109' => '1037',
        '1110' => '1037',
        '1111' => '1037',
        '1112' => '1038',
        '1113' => '1038',
        '1114' => '1038',
        '1115' => '1039',
        '1116' => '1039',
        '1117' => '1039',
        '1118' => '1040',
        '1119' => '1040',
        '1120' => '1040',
        '1121' => '1041',
        '1122' => '1041',
        '1123' => '1041',
        '1124' => '1042',
        '1125' => '1042',
        '1126' => '1042',
        '1127' => '1043',
        '1128' => '1043',
        '1129' => '1043',
        '1130' => '1044',
        '1131' => '1044',
        '1132' => '1044',
        '1133' => '1045',
        '1134' => '1045',
        '1135' => '1045',
        '1136' => '1046',
        '1137' => '1046',
        '1138' => '1046',
        '1139' => '1047',
        '1140' => '1047',
        '1141' => '1047',
        '1142' => '1048',
        '1143' => '1048',
        '1144' => '1048',
        '1145' => '1049',
        '1146' => '1049',
        '1147' => '1049',
        '1148' => '1050',
        '1149' => '1050',
        '1150' => '1050',
        '1151' => '1051',
        '1152' => '1051',
        '1153' => '1051',
        '1154' => '1052',
        '1155' => '1052',
        '1156' => '1052',
        '1157' => '1053',
        '1158' => '1053',
        '1159' => '1053',
        '1160' => '1054',
        '1161' => '1054',
        '1162' => '1054',
        '1163' => '1055',
        '1164' => '1055',
        '1165' => '1055',
        '1166' => '1056',
        '1167' => '1056',
        '1168' => '1056',
        '1169' => '1057',
        '1170' => '1057',
        '1171' => '1057',
        '1172' => '1058',
        '1173' => '1058',
        '1174' => '1058',
        '1175' => '1059',
        '1176' => '1059',
        '1177' => '1059',
        '1178' => '1060',
        '1179' => '1060',
        '1180' => '1060',
        '1181' => '1061',
        '1182' => '1061',
        '1183' => '1061',
        '1184' => '1062',
        '1185' => '1062',
        '1186' => '1062',
        '1187' => '1063',
        '1188' => '1063',
        '1189' => '1063',
        '1190' => '1064',
        '1191' => '1064',
        '1192' => '1064',
        '1193' => '1065',
        '1194' => '1065',
        '1195' => '1065',
        '1196' => '1066',
        '1197' => '1066',
        '1198' => '1066',
        '1199' => '1067',
        '1200' => '1067',
        '1201' => '1067',
        '1202' => '1068',
        '1203' => '1068',
        '1204' => '1068',
        '1205' => '1069',
        '1206' => '1069',
        '1207' => '1069',
        '1208' => '1070',
        '1209' => '1070',
        '1210' => '1070',
        '1211' => '1071',
        '1212' => '1071',
        '1213' => '1071',
        '1214' => '1072',
        '1215' => '1072',
        '1216' => '1072',
        '1217' => '1073',
        '1218' => '1073',
        '1219' => '1073',
        '1220' => '1074',
        '1221' => '1074',
        '1222' => '1074',
        '1223' => '1075',
        '1224' => '1075',
        '1225' => '1075',
        '1226' => '1076',
        '1227' => '1076',
        '1228' => '1076',
        '1229' => '1077',
        '1230' => '1077',
        '1231' => '1077',
        '1232' => '1078',
        '1233' => '1078',
        '1234' => '1078',
        '1235' => '1079',
        '1236' => '1079',
        '1237' => '1079',
        '1238' => '1080',
        '1239' => '1080',
        '1240' => '1080',
        '1241' => '1081',
        '1242' => '1081',
        '1243' => '1081',
        '1244' => '1082',
        '1245' => '1082',
        '1246' => '1082',
        '1247' => '1083',
        '1248' => '1083',
        '1249' => '1083',
        '1250' => '1084',
        '1251' => '1084',
        '1252' => '1084',
        '1253' => '1085',
        '1254' => '1085',
        '1255' => '1085',
        '1256' => '1086',
        '1257' => '1086',
        '1258' => '1086',
        '1259' => '1087',
        '1260' => '1087',
        '1261' => '1087',
        '1262' => '1088',
        '1263' => '1088',
        '1264' => '1088',
        '1265' => '1089',
        '1266' => '1089',
        '1267' => '1089',
        '1268' => '1090',
        '1269' => '1090',
        '1270' => '1090',
        '1271' => '1091',
        '1272' => '1091',
        '1273' => '1091',
        '1274' => '1092',
        '1275' => '1092',
        '1276' => '1092',
        '1277' => '1093',
        '1278' => '1093',
        '1279' => '1093',
        '1280' => '1094',
        '1281' => '1094',
        '1282' => '1094',
        '1283' => '1095',
        '1284' => '1095',
        '1285' => '1095',
        '1286' => '1096',
        '1287' => '1096',
        '1288' => '1096',
        '1289' => '1097',
        '1290' => '1097',
        '1291' => '1097',
        '1292' => '1098',
        '1293' => '1098',
        '1294' => '1098',
        '1295' => '1099',
        '1296' => '1099',
        '1297' => '1099',
        '1298' => '1100',
        '1299' => '1100',
        '1300' => '1100',
        '1301' => '1101',
        '1302' => '1101',
        '1303' => '1101',
        '1304' => '1102',
        '1305' => '1102',
        '1306' => '1102',
        '1307' => '1103',
        '1308' => '1103',
        '1309' => '1103',
        '1310' => '1104',
        '1311' => '1104',
        '1312' => '1104',
        '1313' => '1105',
        '1314' => '1105',
        '1315' => '1105',
        '1316' => '1106',
        '1317' => '1106',
        '1318' => '1106',
        '1319' => '1107',
        '1320' => '1107',
        '1321' => '1107',
        '1322' => '1108',
        '1323' => '1108',
        '1324' => '1108',
        '1325' => '1109',
        '1326' => '1109',
        '1327' => '1109',
        '1328' => '1110',
        '1329' => '1110',
        '1330' => '1110',
        '1331' => '1111',
        '1332' => '1111',
        '1333' => '1111',
        '1334' => '1112',
        '1335' => '1112',
        '1336' => '1112',
        '1337' => '1113',
        '1338' => '1113',
        '1339' => '1113',
        '1340' => '1114',
        '1341' => '1114',
        '1342' => '1114',
        '1343' => '1115',
        '1344' => '1115',
        '1345' => '1115',
        '1346' => '1116',
        '1347' => '1116',
        '1348' => '1116',
        '1349' => '1117',
        '1350' => '1117',
        '1351' => '1117',
        '1352' => '1118',
        '1353' => '1118',
        '1354' => '1118',
        '1355' => '1119',
        '1356' => '1119',
        '1357' => '1119',
        '1358' => '1120',
        '1359' => '1120',
        '1360' => '1120',
        '1361' => '1121',
        '1362' => '1121',
        '1363' => '1121',
        '1364' => '1122',
        '1365' => '1122',
        '1366' => '1122',
        '1367' => '1123',
        '1368' => '1123',
        '1369' => '1123',
        '1370' => '1124',
        '1371' => '1124',
        '1372' => '1124',
        '1373' => '1125',
        '1374' => '1125',
        '1375' => '1125',
        '1376' => '1126',
        '1377' => '1126',
        '1378' => '1126',
        '1379' => '1127',
        '1380' => '1127',
        '1381' => '1127',
        '1382' => '1128',
        '1383' => '1128',
        '1384' => '1128',
        '1385' => '1129',
        '1386' => '1129',
        '1387' => '1129',
        '1388' => '1130',
        '1389' => '1130',
        '1390' => '1130',
        '1391' => '1131',
        '1392' => '1131',
        '1393' => '1131',
        '1394' => '1132',
        '1395' => '1132',
        '1396' => '1132',
        '1397' => '1133',
        '1398' => '1133',
        '1399' => '1133',
        '1400' => '1134',
        '1401' => '1134',
        '1402' => '1134',
        '1403' => '1135',
        '1404' => '1135',
        '1405' => '1135',
        '1406' => '1136',
        '1407' => '1136',
        '1408' => '1136',
        '1409' => '1137',
        '1410' => '1137',
        '1411' => '1137',
        '1412' => '1138',
        '1413' => '1138',
        '1414' => '1138',
        '1415' => '1139',
        '1416' => '1139',
        '1417' => '1139',
        '1418' => '1140',
        '1419' => '1140',
        '1420' => '1140',
        '1421' => '1141',
        '1422' => '1141',
        '1423' => '1141',
        '1424' => '1142',
        '1425' => '1142',
        '1426' => '1142',
        '1427' => '1143',
        '1428' => '1143',
        '1429' => '1143',
        '1430' => '1144',
        '1431' => '1144',
        '1432' => '1144'
    }->{$id};
    $qid;
}

1;
