본문 바로가기
내일배움 과제/코딩테스트

알고리즘 82번 멀리뛰기

by GREEN나무 2025. 2. 24.
728x90

URL : https://school.programmers.co.kr/learn/courses/30/lessons/12914

JS

문제

더보기

문제 설명

효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1, 또는 2을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는
(1, 1, 1, 1)
(1, 2, 1)
(1, 1, 2)
(2, 1, 1)
(2, 2)
5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5return하면 됩니다.

제한 사항

n1 이상, 2000 이하인 정수입니다.

입출력 예

n result
4 5
3 3

입출력 예 설명

 

입출력 예 #1
위에서 설명한 내용과 같습니다.

입출력 예 #2
(2, 1)
(1, 2)
(1, 1, 1)
3가지 방법으로 멀리 뛸 수 있습니다.


계획

1,2칸씩 건너간 경위의 수 구하기

1234567로 나눈 나머지 반환


참고, 풀이

효진이는 한 번에 1칸 또는 2칸을 뛸 수 있다.
즉, n 번째 칸에 도달하는 방법은 바로 전 칸(n-1)에서 한 칸 뛰거나,
혹은 두 칸 전(n-2)에서 두 칸 뛰는 방법 두 가지뿐임.

즉, n에 도달하는 방법의 개수는 (n-1)번째 경우의 수 + (n-2)번째 경우의 수와 같다.

이를 식으로 나타내면: f(n)=f(n−1)+f(n−2)

즉 문제는 피보나치 수열과 동일한 패턴을 따른다.


const solution = (n) => {
  const MOD = 1234567;
  let dp = [0, 1, 2];  // dp[1] = 1, dp[2] = 2

  for (let i = 3; i <= n; i++) {
      dp[i] = (dp[i - 1] + dp[i - 2]) % MOD;
  }

  return dp[n];
};

코드 간략화하기

function solution(n) {
    let a = 1, b = 2;
    for (let i = 3; i <= n; i++) {
        [a, b] = [b, (a + b) % 1234567];
    }
    return n === 1 ? a : b;
}

다른사람 답

피보나치 수열을 1234567로 나눈 나머지값을 가지 배열을 적고 n번째 값을 반환

더보기
/* 
 * 1 칸을 뛰는 방법 = 1 가지
 * 2 칸을 뛰는 방법 = 2 가지
 * (n+2 칸을 뛰는 방법) = (n+1 칸을 뛰는 방법) + (n 칸을 뛰는 방법)
 * f_1 = 1, f_2 = 2 인 피보나치 수열
 * 
 */

function solution(n) {
  return [
    0,
    1,
    2,
    3,
    5,
    8,
    13,
    21,
    34,
    55,
    89,
    144,
    233,
    377,
    610,
    987,
    1597,
    2584,
    4181,
    6765,
    10946,
    17711,
    28657,
    46368,
    75025,
    121393,
    196418,
    317811,
    514229,
    832040,
    111702,
    943742,
    1055444,
    764619,
    585496,
    115548,
    701044,
    816592,
    283069,
    1099661,
    148163,
    13257,
    161420,
    174677,
    336097,
    510774,
    846871,
    123078,
    969949,
    1093027,
    828409,
    686869,
    280711,
    967580,
    13724,
    981304,
    995028,
    741765,
    502226,
    9424,
    511650,
    521074,
    1032724,
    319231,
    117388,
    436619,
    554007,
    990626,
    310066,
    66125,
    376191,
    442316,
    818507,
    26256,
    844763,
    871019,
    481215,
    117667,
    598882,
    716549,
    80864,
    797413,
    878277,
    441123,
    84833,
    525956,
    610789,
    1136745,
    512967,
    415145,
    928112,
    108690,
    1036802,
    1145492,
    947727,
    858652,
    571812,
    195897,
    767709,
    963606,
    496748,
    225787,
    722535,
    948322,
    436290,
    150045,
    586335,
    736380,
    88148,
    824528,
    912676,
    502637,
    180746,
    683383,
    864129,
    312945,
    1177074,
    255452,
    197959,
    453411,
    651370,
    1104781,
    521584,
    391798,
    913382,
    70613,
    983995,
    1054608,
    804036,
    624077,
    193546,
    817623,
    1011169,
    594225,
    370827,
    965052,
    101312,
    1066364,
    1167676,
    999473,
    932582,
    697488,
    395503,
    1092991,
    253927,
    112351,
    366278,
    478629,
    844907,
    88969,
    933876,
    1022845,
    722154,
    510432,
    1232586,
    508451,
    506470,
    1014921,
    286824,
    67178,
    354002,
    421180,
    775182,
    1196362,
    736977,
    698772,
    201182,
    899954,
    1101136,
    766523,
    633092,
    165048,
    798140,
    963188,
    526761,
    255382,
    782143,
    1037525,
    585101,
    388059,
    973160,
    126652,
    1099812,
    1226464,
    1091709,
    1083606,
    940748,
    789787,
    495968,
    51188,
    547156,
    598344,
    1145500,
    509277,
    420210,
    929487,
    115130,
    1044617,
    1159747,
    969797,
    894977,
    630207,
    290617,
    920824,
    1211441,
    897698,
    874572,
    537703,
    177708,
    715411,
    893119,
    373963,
    32515,
    406478,
    438993,
    845471,
    49897,
    895368,
    945265,
    606066,
    316764,
    922830,
    5027,
    927857,
    932884,
    626174,
    324491,
    950665,
    40589,
    991254,
    1031843,
    788530,
    585806,
    139769,
    725575,
    865344,
    356352,
    1221696,
    343481,
    330610,
    674091,
    1004701,
    444225,
    214359,
    658584,
    872943,
    296960,
    1169903,
    232296,
    167632,
    399928,
    567560,
    967488,
    300481,
    33402,
    333883,
    367285,
    701168,
    1068453,
    535054,
    368940,
    903994,
    38367,
    942361,
    980728,
    688522,
    434683,
    1123205,
    323321,
    211959,
    535280,
    747239,
    47952,
    795191,
    843143,
    403767,
    12343,
    416110,
    428453,
    844563,
    38449,
    883012,
    921461,
    569906,
    256800,
    826706,
    1083506,
    675645,
    524584,
    1200229,
    490246,
    455908,
    946154,
    167495,
    1113649,
    46577,
    1160226,
    1206803,
    1132462,
    1104698,
    1002593,
    872724,
    640750,
    278907,
    919657,
    1198564,
    883654,
    847651,
    496738,
    109822,
    606560,
    716382,
    88375,
    804757,
    893132,
    463322,
    121887,
    585209,
    707096,
    57738,
    764834,
    822572,
    352839,
    1175411,
    293683,
    234527,
    528210,
    762737,
    56380,
    819117,
    875497,
    460047,
    100977,
    561024,
    662001,
    1223025,
    650459,
    638917,
    54809,
    693726,
    748535,
    207694,
    956229,
    1163923,
    885585,
    814941,
    465959,
    46333,
    512292,
    558625,
    1070917,
    394975,
    231325,
    626300,
    857625,
    249358,
    1106983,
    121774,
    1228757,
    115964,
    110154,
    226118,
    336272,
    562390,
    898662,
    226485,
    1125147,
    117065,
    7645,
    124710,
    132355,
    257065,
    389420,
    646485,
    1035905,
    447823,
    249161,
    696984,
    946145,
    408562,
    120140,
    528702,
    648842,
    1177544,
    591819,
    534796,
    1126615,
    426844,
    318892,
    745736,
    1064628,
    575797,
    405858,
    981655,
    152946,
    1134601,
    52980,
    1187581,
    5994,
    1193575,
    1199569,
    1158577,
    1123579,
    1047589,
    936601,
    749623,
    451657,
    1201280,
    418370,
    385083,
    803453,
    1188536,
    757422,
    711391,
    234246,
    945637,
    1179883,
    890953,
    836269,
    492655,
    94357,
    587012,
    681369,
    33814,
    715183,
    748997,
    229613,
    978610,
    1208223,
    952266,
    925922,
    643621,
    334976,
    978597,
    79006,
    1057603,
    1136609,
    959645,
    861687,
    586765,
    213885,
    800650,
    1014535,
    580618,
    360586,
    941204,
    67223,
    1008427,
    1075650,
    849510,
    690593,
    305536,
    996129,
    67098,
    1063227,
    1130325,
    958985,
    854743,
    579161,
    199337,
    778498,
    977835,
    521766,
    265034,
    786800,
    1051834,
    604067,
    421334,
    1025401,
    212168,
    3002,
    215170,
    218172,
    433342,
    651514,
    1084856,
    501803,
    352092,
    853895,
    1205987,
    825315,
    796735,
    387483,
    1184218,
    337134,
    286785,
    623919,
    910704,
    300056,
    1210760,
    276249,
    252442,
    528691,
    781133,
    75257,
    856390,
    931647,
    553470,
    250550,
    804020,
    1054570,
    624023,
    444026,
    1068049,
    277508,
    110990,
    388498,
    499488,
    887986,
    152907,
    1040893,
    1193800,
    1000126,
    959359,
    724918,
    449710,
    1174628,
    389771,
    329832,
    719603,
    1049435,
    534471,
    349339,
    883810,
    1233149,
    882392,
    880974,
    528799,
    175206,
    704005,
    879211,
    348649,
    1227860,
    341942,
    335235,
    677177,
    1012412,
    455022,
    232867,
    687889,
    920756,
    374078,
    60267,
    434345,
    494612,
    928957,
    189002,
    1117959,
    72394,
    1190353,
    28180,
    1218533,
    12146,
    1230679,
    8258,
    4370,
    12628,
    16998,
    29626,
    46624,
    76250,
    122874,
    199124,
    321998,
    521122,
    843120,
    129675,
    972795,
    1102470,
    840698,
    708601,
    314732,
    1023333,
    103498,
    1126831,
    1230329,
    1122593,
    1118355,
    1006381,
    890169,
    661983,
    317585,
    979568,
    62586,
    1042154,
    1104740,
    912327,
    782500,
    460260,
    8193,
    468453,
    476646,
    945099,
    187178,
    1132277,
    84888,
    1217165,
    67486,
    50084,
    117570,
    167654,
    285224,
    452878,
    738102,
    1190980,
    694515,
    650928,
    110876,
    761804,
    872680,
    399917,
    38030,
    437947,
    475977,
    913924,
    155334,
    1069258,
    1224592,
    1059283,
    1049308,
    874024,
    688765,
    328222,
    1016987,
    110642,
    1127629,
    3704,
    1131333,
    1135037,
    1031803,
    932273,
    729509,
    427215,
    1156724,
    349372,
    271529,
    620901,
    892430,
    278764,
    1171194,
    215391,
    152018,
    367409,
    519427,
    886836,
    171696,
    1058532,
    1230228,
    1054193,
    1049854,
    869480,
    684767,
    319680,
    1004447,
    89560,
    1094007,
    1183567,
    1043007,
    992007,
    800447,
    557887,
    123767,
    681654,
    805421,
    252508,
    1057929,
    75870,
    1133799,
    1209669,
    1108901,
    1084003,
    958337,
    807773,
    531543,
    104749,
    636292,
    741041,
    142766,
    883807,
    1026573,
    675813,
    467819,
    1143632,
    376884,
    285949,
    662833,
    948782,
    377048,
    91263,
    468311,
    559574,
    1027885,
    352892,
    146210,
    499102,
    645312,
    1144414,
    555159,
    465006,
    1020165,
    250604,
    36202,
    286806,
    323008,
    609814,
    932822,
    308069,
    6324,
    314393,
    320717,
    635110,
    955827,
    356370,
    77630,
    434000,
    511630,
    945630,
    222693,
    1168323,
    156449,
    90205,
    246654,
    336859,
    583513,
    920372,
    269318,
    1189690,
    224441,
    179564,
    404005,
    583569,
    987574,
    336576,
    89583,
    426159,
    515742,
    941901,
    223076,
    1164977,
    153486,
    83896,
    237382,
    321278,
    558660,
    879938,
    204031,
    1083969,
    53433,
    1137402,
    1190835,
    1093670,
    1049938,
    909041,
    724412,
    398886,
    1123298,
    287617,
    176348,
    463965,
    640313,
    1104278,
    510024,
    379735,
    889759,
    34927,
    924686,
    959613,
    649732,
    374778,
    1024510,
    164721,
    1189231,
    119385,
    74049,
    193434,
    267483,
    460917,
    728400,
    1189317,
    683150,
    637900,
    86483,
    724383,
    810866,
    300682,
    1111548,
    177663,
    54644,
    232307,
    286951,
    519258,
    806209,
    90900,
    897109,
    988009,
    650551,
    403993,
    1054544,
    223970,
    43947,
    267917,
    311864,
    579781,
    891645,
    236859,
    1128504,
    130796,
    24733,
    155529,
    180262,
    335791,
    516053,
    851844,
    133330,
    985174,
    1118504,
    869111,
    753048,
    387592,
    1140640,
    293665,
    199738,
    493403,
    693141,
    1186544,
    645118,
    597095,
    7646,
    604741,
    612387,
    1217128,
    594948,
    577509,
    1172457,
    515399,
    453289,
    968688,
    187410,
    1156098,
    108941,
    30472,
    139413,
    169885,
    309298,
    479183,
    788481,
    33097,
    821578,
    854675,
    441686,
    61794,
    503480,
    565274,
    1068754,
    399461,
    233648,
    633109,
    866757,
    265299,
    1132056,
    162788,
    60277,
    223065,
    283342,
    506407,
    789749,
    61589,
    851338,
    912927,
    529698,
    208058,
    737756,
    945814,
    449003,
    160250,
    609253,
    769503,
    144189,
    913692,
    1057881,
    737006,
    560320,
    62759,
    623079,
    685838,
    74350,
    760188,
    834538,
    360159,
    1194697,
    320289,
    280419,
    600708,
    881127,
    247268,
    1128395,
    141096,
    34924,
    176020,
    210944,
    386964,
    597908,
    984872,
    348213,
    98518,
    446731,
    545249,
    991980,
    302662,
    60075,
    362737,
    422812,
    785549,
    1208361,
    759343,
    733137,
    257913,
    991050,
    14396,
    1005446,
    1019842,
    790721,
    575996,
    132150,
    708146,
    840296,
    313875,
    1154171,
    233479,
    153083,
    386562,
    539645,
    926207,
    231285,
    1157492,
    154210,
    77135,
    231345,
    308480,
    539825,
    848305,
    153563,
    1001868,
    1155431,
    922732,
    843596,
    531761,
    140790,
    672551,
    813341,
    251325,
    1064666,
    81424,
    1146090,
    1227514,
    1139037,
    1131984,
    1036454,
    933871,
    735758,
    435062,
    1170820,
    371315,
    307568,
    678883,
    986451,
    430767,
    182651,
    613418,
    796069,
    174920,
    970989,
    1145909,
    882331,
    793673,
    441437,
    543,
    441980,
    442523,
    884503,
    92459,
    976962,
    1069421,
    811816,
    646670,
    223919,
    870589,
    1094508,
    730530,
    590471,
    86434,
    676905,
    763339,
    205677,
    969016,
    1174693,
    909142,
    849268,
    523843,
    138544,
    662387,
    800931,
    228751,
    1029682,
    23866,
    1053548,
    1077414,
    896395,
    739242,
    401070,
    1140312,
    306815,
    212560,
    519375,
    731935,
    16743,
    748678,
    765421,
    279532,
    1044953,
    89918,
    1134871,
    1224789,
    1125093,
    1115315,
    1005841,
    886589,
    657863,
    309885,
    967748,
    43066,
    1010814,
    1053880,
    830127,
    649440,
    245000,
    894440,
    1139440,
    799313,
    704186,
    268932,
    973118,
    7483,
    980601,
    988084,
    734118,
    487635,
    1221753,
    474821,
    462007,
    936828,
    164268,
    1101096,
    30797,
    1131893,
    1162690,
    1060016,
    988139,
    813588,
    567160,
    146181,
    713341,
    859522,
    338296,
    1197818,
    301547,
    264798,
    566345,
    831143,
    162921,
    994064,
    1156985,
    916482,
    838900,
    520815,
    125148,
    645963,
    771111,
    182507,
    953618,
    1136125,
    855176,
    756734,
    377343,
    1134077,
    276853,
    176363,
    453216,
    629579,
    1082795,
    477807,
    326035,
    803842,
    1129877,
    699152,
    594462,
    59047,
    653509,
    712556,
    131498,
    844054,
    975552,
    585039,
    326024,
    911063,
    2520,
    913583,
    916103,
    595119,
    276655,
    871774,
    1148429,
    785636,
    699498,
    250567,
    950065,
    1200632,
    916130,
    882195,
    563758,
    211386,
    775144,
    986530,
    527107,
    279070,
    806177,
    1085247,
    656857,
    507537,
    1164394,
    437364,
    367191,
    804555,
    1171746,
    741734,
    678913,
    186080,
    864993,
    1051073,
    681499,
    498005,
    1179504,
    442942,
    387879,
    830821,
    1218700,
    814954,
    799087,
    379474,
    1178561,
    323468,
    267462,
    590930,
    858392,
    214755,
    1073147,
    53335,
    1126482,
    1179817,
    1071732,
    1016982,
    854147,
    636562,
    256142,
    892704,
    1148846,
    806983,
    721262,
    293678,
    1014940,
    74051,
    1088991,
    1163042,
    1017466,
    945941,
    728840,
    440214,
    1169054,
    374701,
    309188,
    683889,
    993077,
    442399,
    200909,
    643308,
    844217,
    252958,
    1097175,
    115566,
    1212741,
    93740,
    71914,
    165654,
    237568,
    403222,
    640790,
    1044012,
    450235,
    259680,
    709915,
    969595,
    444943,
    179971,
    624914,
    804885,
    195232,
    1000117,
    1195349,
    960899,
    921681,
    648013,
    335127,
    983140,
    83700,
    1066840,
    1150540,
    982813,
    898786,
    647032,
    311251,
    958283,
    34967,
    993250,
    1028217,
    786900,
    580550,
    132883,
    713433,
    846316,
    325182,
    1171498,
    262113,
    199044,
    461157,
    660201,
    1121358,
    546992,
    433783,
    980775,
    179991,
    1160766,
    106190,
    32389,
    138579,
    170968,
    309547,
    480515,
    790062,
    36010,
    826072,
    862082,
    453587,
    81102,
    534689,
    615791,
    1150480,
    531704,
    447617,
    979321,
    192371,
    1171692,
    129496,
    66621,
    196117,
    262738,
    458855,
    721593,
    1180448,
    667474,
    613355,
    46262,
    659617,
    705879,
    130929,
    836808,
    967737,
    569978,
    303148,
    873126,
    1176274,
    814833,
    756540,
    336806,
    1093346,
    195585,
    54364,
    249949,
    304313,
    554262,
    858575,
    178270,
    1036845,
    1215115,
    1017393,
    997941,
    780767,
    544141,
    90341,
    634482,
    724823,
    124738,
    849561,
    974299,
    589293,
    329025,
    918318,
    12776,
    931094,
    943870,
    640397,
    349700,
    990097,
    105230,
    1095327,
    1200557,
    1061317,
    1027307,
    854057,
    646797,
    266287,
    913084,
    1179371,
    857888,
    802692,
    426013,
    1228705,
    420151,
    414289,
    834440,
    14162,
    848602,
    862764,
    476799,
    104996,
    581795,
    686791,
    34019,
    720810,
    754829,
    241072,
    995901,
    2406,
    998307,
    1000713,
    764453,
    530599,
    60485,
    591084,
    651569,
    8086,
    659655,
    667741,
    92829,
    760570,
    853399,
    379402,
    1232801,
    377636,
    375870,
    753506,
    1129376,
    648315,
    543124,
    1191439,
    499996,
    456868,
    956864,
    179165,
    1136029,
    80627,
    1216656,
    62716,
    44805,
    107521,
    152326,
    259847,
    412173,
    672020,
    1084193,
    521646,
    371272,
    892918,
    29623,
    922541,
    952164,
    640138,
    357735,
    997873,
    121041,
    1118914,
    5388,
    1124302,
    1129690,
    1019425,
    914548,
    699406,
    379387,
    1078793,
    223613,
    67839,
    291452,
    359291,
    650743,
    1010034,
    426210,
    201677,
    627887,
    829564,
    222884,
    1052448,
    40765,
    1093213,
    1133978,
    992624,
    892035,
    650092,
    307560,
    957652,
    30645,
    988297,
    1018942,
    772672,
    557047,
    95152,
    652199,
    747351,
    164983,
    912334,
    1077317,
    755084,
    597834,
    118351,
    716185,
    834536,
    316154,
    1150690,
    232277,
    148400,
    380677,
    529077,
    909754,
    204264,
    1114018,
    83715,
    1197733,
    46881,
    10047,
    56928,
    66975,
    123903,
    190878,
    314781,
    505659,
    820440,
    91532,
    911972,
    1003504,
    680909,
    449846,
    1130755,
    346034,
    242222,
    588256,
    830478,
    184167,
    1014645,
    1198812,
    978890,
    943135,
    687458,
    396026,
    1083484,
    244943,
    93860,
    338803,
    432663,
    771466,
    1204129,
    741028,
    710590,
    217051,
    927641,
    1144692,
    837766,
    747891,
    351090,
    1098981,
    215504,
    79918,
    295422,
    375340,
    670762,
    1046102,
    482297,
    293832,
    776129,
    1069961,
    611523,
    446917,
    1058440,
    270790,
    94663,
    365453,
    460116,
    825569,
    51118,
    876687,
    927805,
    569925,
    263163,
    833088,
    1096251,
    694772,
    556456,
    16661,
    573117,
    589778,
    1162895,
    518106,
    446434,
    964540,
    176407,
    1140947,
    82787,
    1223734,
    71954,
    61121,
    133075,
    194196,
    327271,
    521467,
    848738,
    135638,
    984376,
    1120014,
    869823,
    755270,
    390526,
    1145796,
    301755,
    212984,
    514739,
    727723,
    7895,
    735618,
    743513,
    244564,
    988077,
    1232641,
    986151,
    984225,
    735809,
    485467,
    1221276,
    472176,
    458885,
    931061,
    155379,
    1086440,
    7252,
    1093692,
    1100944,
    960069,
    826446,
    551948,
    143827,
    695775,
    839602,
    300810,
    1140412,
    206655,
    112500,
    319155,
    431655,
    750810,
    1182465,
    698708,
    646606,
    110747,
    757353,
    868100,
    390886,
    24419,
    415305,
    439724,
    855029,
    60186,
    915215,
    975401,
    656049,
    396883,
    1052932,
    215248,
    33613,
    248861,
    282474,
    531335,
    813809,
    110577,
    924386,
    1034963,
    724782,
    525178,
    15393,
    540571,
    555964,
    1096535,
    417932,
    279900,
    697832,
    977732,
    440997,
    184162,
    625159,
    809321,
    199913,
    1009234,
    1209147,
    983814,
    958394,
    707641,
    431468,
    1139109,
    336010,
    240552,
    576562,
    817114,
    159109,
    976223,
    1135332,
    876988,
    777753,
    420174,
    1197927,
    383534,
    346894,
    730428,
    1077322,
    573183,
    415938,
    989121,
    170492,
    1159613,
    95538,
    20584,
    116122,
    136706,
    252828,
    389534,
    642362,
    1031896,
    439691,
    237020,
    676711,
    913731,
    355875,
    35039,
    390914,
    425953,
    816867,
    8253,
    825120,
    833373,
    423926,
    22732,
    446658,
    469390,
    916048,
    150871,
    1066919,
    1217790,
    1050142,
    1033365,
    848940,
    647738,
    262111,
    909849,
    1171960,
    847242,
    784635,
    397310,
    1181945,
    344688,
    292066,
    636754,
    928820,
    331007,
    25260,
    356267,
    381527,
    737794,
    1119321,
    622548,
    507302,
    1129850,
    402585,
    297868,
    700453,
    998321,
    464207,
    227961,
    692168,
    920129,
    377730,
    63292,
    441022,
    504314,
    945336,
    215083,
    1160419,
    140935,
    66787,
    207722,
    274509,
    482231,
    756740,
    4404,
    761144,
    765548,
    292125,
    1057673,
    115231,
    1172904,
    53568,
    1226472,
    45473,
    37378,
    82851,
    120229,
    203080,
    323309,
    526389,
    849698,
    141520,
    991218,
    1132738,
    889389,
    787560,
    442382,
    1229942,
    437757,
    433132,
    870889,
    69454,
    940343,
    1009797,
    715573,
    490803,
    1206376,
    462612,
    434421,
    897033,
    96887,
    993920,
    1090807,
    850160,
    706400,
    321993,
    1028393,
    115819,
    1144212,
    25464,
    1169676,
    1195140,
    1130249,
    1090822,
    986504,
    842759,
    594696,
    202888,
    797584,
    1000472,
    563489,
    329394,
    892883,
    1222277,
    880593,
    868303,
    514329,
    148065,
    662394,
    810459,
    238286,
    1048745,
    52464,
    1101209,
    1153673,
    1020315,
    939421,
    725169,
    430023,
    1155192,
    350648,
    271273,
    621921,
    893194,
    280548,
    1173742,
    219723,
    158898,
    378621,
    537519,
    916140,
    219092,
    1135232,
    119757,
    20422,
    140179,
    160601,
    300780,
    461381,
    762161,
    1223542,
    751136,
    740111,
    256680,
    996791,
    18904,
    1015695,
    1034599,
    815727,
    615759,
    196919,
    812678,
    1009597,
    587708,
    362738,
    950446,
    78617,
    1029063,
    1107680,
    902176,
    775289,
    442898,
    1218187,
    426518,
    410138,
    836656,
    12227,
    848883,
    861110,
    475426,
    101969,
    577395,
    679364,
    22192,
    701556,
    723748,
    190737,
    914485,
    1105222,
    785140,
    655795,
    206368,
    862163,
    1068531,
    696127,
    530091,
    1226218,
    521742,
    513393,
    1035135,
    313961,
    114529,
    428490,
    543019,
    971509,
    279961,
    16903,
    296864,
    313767,
    610631,
    924398,
    300462,
    1224860,
    290755,
    281048,
    571803,
    852851,
    190087,
    1042938,
    1233025,
    1041396,
    1039854,
    846683,
    651970,
    264086,
    916056,
    1180142,
    861631,
    807206,
    434270,
    6909,
    441179,
    448088,
    889267,
    102788,
    992055,
    1094843,
    852331,
    712607,
    330371,
    1042978,
    138782,
    1181760,
    85975,
    33168,
    119143,
    152311,
    271454,
    423765,
    695219,
    1118984,
    579636,
    464053,
    1043689,
    273175,
    82297,
    355472,
    437769,
    793241,
    1231010,
    789684,
    786127,
    341244,
    1127371,
    234048,
    126852,
    360900,
    487752,
    848652,
    101837,
    950489,
    1052326,
    768248,
    586007,
    119688,
    705695,
    825383,
    296511,
    1121894,
    183838,
    71165,
    255003,
    326168,
    581171,
    907339,
    253943,
    1161282,
    180658,
    107373,
    288031,
    395404,
    683435,
    1078839,
    527707,
    371979,
    899686,
    37098,
    936784,
    973882,
    676099,
    415414,
    1091513,
    272360,
    129306,
    401666,
    530972,
    932638,
    229043,
    1161681,
    156157,
    83271,
    239428,
    322699,
    562127,
    884826,
    212386,
    1097212,
    75031,
    1172243,
    12707,
    1184950,
    1197657,
    1148040,
    1111130,
    1024603,
    901166,
    691202,
    357801,
    1049003,
    172237,
    1221240,
    158910,
    145583,
    304493,
    450076,
    754569,
    1204645,
    724647
  ][n];
}