<filename>Day 8 - Handheld Halting/boot_code.py<gh_stars>0
def main():
	input_test_part1 = '''nop +0
acc +1
jmp +4
acc +3
jmp -3
acc -99
acc +1
jmp -4
acc +6'''
	input_real_part1 = '''acc -15
jmp +164
nop +157
acc -12
acc -19
acc +41
jmp +177
acc +36
acc +37
nop +471
jmp +433
acc +24
acc +13
acc -12
jmp +556
jmp +1
acc -15
acc +33
jmp +299
jmp +344
acc -3
jmp +124
acc +10
nop +562
acc +45
jmp +386
acc -3
jmp +206
acc -19
acc +12
jmp +424
acc -18
acc +23
acc +12
acc +0
jmp +311
nop +327
jmp +301
acc +20
nop +375
jmp +25
acc -13
acc +49
acc +23
acc -3
jmp +346
acc +2
acc +3
jmp +123
acc -7
nop +183
jmp +165
acc +47
acc +34
jmp +1
jmp +359
acc +12
acc +16
acc -3
acc +0
jmp +556
acc +14
acc -3
jmp +559
jmp +192
jmp +495
nop +264
acc +3
acc +47
jmp +187
acc -18
jmp +1
acc -12
jmp -58
acc +49
nop +288
jmp +145
acc +46
jmp +294
acc +38
nop +400
jmp +373
acc +7
acc +31
jmp +492
acc +40
acc +5
acc +11
jmp +263
acc +29
acc +10
acc +21
acc +14
jmp +450
nop +458
acc +38
nop +432
acc +42
jmp +191
jmp +279
nop +71
acc -17
jmp -64
acc +17
jmp +1
acc +29
jmp +506
jmp +354
acc +42
acc +32
jmp -40
jmp +184
acc +41
acc -7
acc +10
acc +38
jmp +100
jmp +104
jmp +245
jmp +335
jmp +20
acc +3
jmp +490
jmp -62
acc +34
acc +34
acc -1
jmp +6
acc +5
acc -9
acc -19
jmp +397
jmp +253
acc +9
jmp +270
acc +8
acc -16
acc +32
acc +48
jmp +258
acc +4
acc +37
nop +319
jmp +318
jmp -4
acc -5
jmp +32
nop -86
jmp +306
acc -13
acc +50
acc -16
jmp -53
acc +31
jmp +52
acc -11
jmp +89
acc +21
jmp +126
acc +44
acc +49
nop +177
jmp +44
acc +8
jmp +166
acc +20
acc -8
acc +38
acc +10
jmp +311
jmp +21
acc -10
nop +84
acc -7
acc +13
jmp +78
jmp +1
jmp +366
acc -6
acc -12
jmp -142
nop +223
jmp +42
acc -6
nop +227
nop +193
acc +23
jmp +83
acc -10
acc +12
jmp +1
acc -8
acc +3
nop +28
jmp +301
acc +23
jmp -170
nop -79
acc +21
acc +37
jmp +138
acc +37
acc +24
nop +413
acc -9
jmp -179
acc -1
acc -10
nop +261
acc -19
jmp +168
acc -16
acc +19
acc +17
acc +21
jmp -9
jmp +46
acc +4
nop +398
acc +28
jmp +396
acc +11
jmp +384
jmp +375
acc +25
acc +30
acc -11
jmp +371
jmp +249
acc -10
acc -15
jmp -7
jmp +38
acc +29
acc +15
acc +46
jmp -77
acc +43
jmp -83
jmp -42
acc +30
acc +44
acc +33
acc +14
jmp +326
acc -3
nop +49
acc +12
jmp +63
acc -13
acc -19
acc -17
jmp +126
jmp +293
acc +16
jmp -185
acc -12
jmp -92
acc -13
acc +19
acc -1
jmp -138
acc +28
nop -243
nop +352
acc +43
jmp +249
acc -5
acc +36
jmp -217
nop +197
nop -106
acc +30
jmp +194
acc +7
acc -16
nop +128
jmp -239
jmp -258
acc +11
nop -74
acc +42
acc +40
jmp +72
jmp -207
nop +337
nop -240
nop -169
jmp -55
nop +165
acc +27
acc +4
jmp -169
acc -2
jmp +69
acc +0
jmp -250
acc +11
acc +45
acc +31
jmp +195
acc -10
acc -8
nop -283
acc -2
jmp +63
acc +17
acc +12
acc +0
nop +243
jmp +190
acc +17
acc -18
jmp +78
acc +7
acc +33
jmp +244
nop +29
acc +20
nop +150
acc +29
jmp -43
acc +45
nop -132
acc +16
acc +14
jmp -237
jmp -199
acc -4
jmp +179
acc +13
acc +15
acc +6
acc +46
jmp -222
acc -8
acc +15
jmp -26
acc +38
jmp +1
nop +266
jmp +44
acc -13
nop +209
acc +21
jmp +201
acc +8
acc +18
jmp +190
acc +35
jmp -238
jmp +69
acc -11
nop -182
jmp -221
acc -16
acc -5
acc +7
jmp +39
acc +26
acc +43
acc +20
jmp +92
acc +22
jmp +81
acc +32
acc -13
jmp +30
acc +1
jmp +201
acc +4
jmp -165
acc -17
jmp -84
acc -16
acc +2
acc +47
jmp +54
jmp -195
acc +33
acc -17
jmp -18
jmp +256
acc +1
jmp -244
acc +28
acc +35
jmp +189
nop +32
acc +9
jmp +24
acc +21
acc +14
acc +17
jmp -67
acc +21
jmp -297
acc +36
acc +14
acc -13
jmp +115
acc -2
acc -13
jmp -182
nop +119
acc -4
acc +44
acc -14
jmp +61
acc +41
jmp -13
nop -116
jmp -294
jmp +7
jmp +17
acc -14
acc +42
acc -6
acc +24
jmp +151
nop -374
nop -375
acc +4
jmp -268
nop -27
acc +16
acc +2
jmp -206
jmp -320
nop -196
jmp +168
nop +36
acc +34
jmp -402
acc +36
acc +38
acc -11
nop +17
jmp -182
acc +15
jmp -145
acc +43
jmp -79
jmp -391
jmp -155
nop -94
acc +0
acc +9
jmp -441
acc +3
acc +6
acc +50
nop -334
jmp +163
acc +18
acc -11
jmp +21
acc +10
acc +4
nop +132
jmp -348
acc +18
nop -1
acc -4
nop +148
jmp +165
jmp +146
jmp -460
jmp -14
acc +26
nop -388
nop -353
jmp +119
acc +26
acc -1
acc +9
jmp -285
acc +37
jmp -345
jmp -178
acc +7
acc +13
jmp -39
acc +29
nop -200
acc +50
acc +24
jmp -160
acc +18
jmp +63
acc -11
acc +1
acc -6
acc +33
jmp -90
acc -3
acc +11
acc +45
jmp -197
jmp -169
acc +7
acc -4
jmp -281
acc +48
nop +19
nop -25
nop +9
jmp -274
nop -126
acc +22
acc -4
jmp -408
acc +1
acc +0
jmp +98
acc +25
acc +12
acc -19
jmp -90
acc +44
acc +20
acc +21
jmp -192
acc -12
jmp -70
nop +3
acc +17
jmp -349
acc +20
acc -7
acc +6
nop -43
jmp +53
acc +34
acc +48
acc -4
acc +8
jmp -126
acc +23
acc +25
jmp -349
acc -4
jmp -272
jmp -129
nop -366
jmp -292
acc +29
nop -269
acc +50
nop -254
jmp -321
jmp -23
acc +11
nop -425
nop -150
acc -9
jmp -467
acc +18
acc +27
jmp -338
jmp +1
acc +21
acc +27
acc -11
jmp -160
acc +27
acc +15
acc +0
acc +41
jmp -386
acc -10
acc +14
jmp -217
nop -484
acc +47
jmp -529
acc -10
acc +48
acc +0
jmp -430
acc +45
acc -8
acc +3
nop -103
jmp -387
acc -16
acc +39
jmp +1
acc +17
jmp -350
jmp -328
acc +30
acc +28
jmp -309
nop -361
acc +1
nop -468
jmp -212
acc +29
acc -4
jmp -249
acc +45
acc +30
acc +40
acc -17
jmp -579
acc +25
jmp -525
nop -217
acc +17
acc +3
jmp -142
nop +18
jmp -493
jmp +1
jmp -495
jmp -360
acc +7
acc +30
acc -3
nop -449
jmp -326
acc -10
acc -8
jmp -371
acc +22
acc +48
acc +6
acc +18
jmp -59
acc +17
acc +14
jmp -250
acc +19
acc +25
acc -14
acc -17
jmp -517
acc +29
acc -4
acc +9
acc +17
jmp +1'''

	clean_test_rows = input_test_part1.split("\n")
	clean_real_rows_part1 = input_real_part1.split("\n")

	number: int = 0
	row_index: int = 0
	walked_indexes: list = []
	not_in_infinite_loop = True

	while not_in_infinite_loop:
		number, row_index, walked_indexes, not_in_infinite_loop = execute_row(clean_real_rows_part1[row_index],
		                                                                      number,
		                                                                      row_index, walked_indexes,
		                                                                      not_in_infinite_loop)
	print(f"Last row: {clean_real_rows_part1[row_index]}, ACC: {number}, row index: {row_index}")


def execute_row(row: str, accumulator: int, current_row_index: int, walked_indexes: list, infinite_test: bool):
	row = row.split()
	if row[0] == "acc":
		accumulator = acc(row[1], accumulator)
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(1, current_row_index, walked_indexes,
		                                                                     infinite_test)
	elif row[0] == "jmp":
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(row[1], current_row_index, walked_indexes,
		                                                                     infinite_test)
	elif row[0] == "nop":
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(1, current_row_index, walked_indexes,
		                                                                     infinite_test)

	return (accumulator, current_row_index, walked_indexes, infinite_test)


def jump_to_row_index(jump_by: int, current_index: int, walked_indexes: list, infinite_test: bool) -> int:
	new_index = current_index + int(jump_by)
	if new_index not in walked_indexes:
		walked_indexes.append(new_index)
		return (new_index, walked_indexes, infinite_test)
	else:
		infinite_test = False
		return (new_index, walked_indexes, infinite_test)


def acc(modifier: int, number: int) -> int:
	"""
	acc adds or subtracts from accumulator

	:param modifier: Number to added/subtracted from acc
	:param number: current acc value
	:type modifier: int
	:type number: int
	:rtype: int
	"""

	return number + int(modifier)


if __name__ == '__main__':
	main()

<filename>Day 8 - Handheld Halting/boot_code.py<gh_stars>0
def main():
	input_test_part1 = '''nop +0
acc +1
jmp +4
acc +3
jmp -3
acc -99
acc +1
jmp -4
acc +6'''
	input_real_part1 = '''acc -15
jmp +164
nop +157
acc -12
acc -19
acc +41
jmp +177
acc +36
acc +37
nop +471
jmp +433
acc +24
acc +13
acc -12
jmp +556
jmp +1
acc -15
acc +33
jmp +299
jmp +344
acc -3
jmp +124
acc +10
nop +562
acc +45
jmp +386
acc -3
jmp +206
acc -19
acc +12
jmp +424
acc -18
acc +23
acc +12
acc +0
jmp +311
nop +327
jmp +301
acc +20
nop +375
jmp +25
acc -13
acc +49
acc +23
acc -3
jmp +346
acc +2
acc +3
jmp +123
acc -7
nop +183
jmp +165
acc +47
acc +34
jmp +1
jmp +359
acc +12
acc +16
acc -3
acc +0
jmp +556
acc +14
acc -3
jmp +559
jmp +192
jmp +495
nop +264
acc +3
acc +47
jmp +187
acc -18
jmp +1
acc -12
jmp -58
acc +49
nop +288
jmp +145
acc +46
jmp +294
acc +38
nop +400
jmp +373
acc +7
acc +31
jmp +492
acc +40
acc +5
acc +11
jmp +263
acc +29
acc +10
acc +21
acc +14
jmp +450
nop +458
acc +38
nop +432
acc +42
jmp +191
jmp +279
nop +71
acc -17
jmp -64
acc +17
jmp +1
acc +29
jmp +506
jmp +354
acc +42
acc +32
jmp -40
jmp +184
acc +41
acc -7
acc +10
acc +38
jmp +100
jmp +104
jmp +245
jmp +335
jmp +20
acc +3
jmp +490
jmp -62
acc +34
acc +34
acc -1
jmp +6
acc +5
acc -9
acc -19
jmp +397
jmp +253
acc +9
jmp +270
acc +8
acc -16
acc +32
acc +48
jmp +258
acc +4
acc +37
nop +319
jmp +318
jmp -4
acc -5
jmp +32
nop -86
jmp +306
acc -13
acc +50
acc -16
jmp -53
acc +31
jmp +52
acc -11
jmp +89
acc +21
jmp +126
acc +44
acc +49
nop +177
jmp +44
acc +8
jmp +166
acc +20
acc -8
acc +38
acc +10
jmp +311
jmp +21
acc -10
nop +84
acc -7
acc +13
jmp +78
jmp +1
jmp +366
acc -6
acc -12
jmp -142
nop +223
jmp +42
acc -6
nop +227
nop +193
acc +23
jmp +83
acc -10
acc +12
jmp +1
acc -8
acc +3
nop +28
jmp +301
acc +23
jmp -170
nop -79
acc +21
acc +37
jmp +138
acc +37
acc +24
nop +413
acc -9
jmp -179
acc -1
acc -10
nop +261
acc -19
jmp +168
acc -16
acc +19
acc +17
acc +21
jmp -9
jmp +46
acc +4
nop +398
acc +28
jmp +396
acc +11
jmp +384
jmp +375
acc +25
acc +30
acc -11
jmp +371
jmp +249
acc -10
acc -15
jmp -7
jmp +38
acc +29
acc +15
acc +46
jmp -77
acc +43
jmp -83
jmp -42
acc +30
acc +44
acc +33
acc +14
jmp +326
acc -3
nop +49
acc +12
jmp +63
acc -13
acc -19
acc -17
jmp +126
jmp +293
acc +16
jmp -185
acc -12
jmp -92
acc -13
acc +19
acc -1
jmp -138
acc +28
nop -243
nop +352
acc +43
jmp +249
acc -5
acc +36
jmp -217
nop +197
nop -106
acc +30
jmp +194
acc +7
acc -16
nop +128
jmp -239
jmp -258
acc +11
nop -74
acc +42
acc +40
jmp +72
jmp -207
nop +337
nop -240
nop -169
jmp -55
nop +165
acc +27
acc +4
jmp -169
acc -2
jmp +69
acc +0
jmp -250
acc +11
acc +45
acc +31
jmp +195
acc -10
acc -8
nop -283
acc -2
jmp +63
acc +17
acc +12
acc +0
nop +243
jmp +190
acc +17
acc -18
jmp +78
acc +7
acc +33
jmp +244
nop +29
acc +20
nop +150
acc +29
jmp -43
acc +45
nop -132
acc +16
acc +14
jmp -237
jmp -199
acc -4
jmp +179
acc +13
acc +15
acc +6
acc +46
jmp -222
acc -8
acc +15
jmp -26
acc +38
jmp +1
nop +266
jmp +44
acc -13
nop +209
acc +21
jmp +201
acc +8
acc +18
jmp +190
acc +35
jmp -238
jmp +69
acc -11
nop -182
jmp -221
acc -16
acc -5
acc +7
jmp +39
acc +26
acc +43
acc +20
jmp +92
acc +22
jmp +81
acc +32
acc -13
jmp +30
acc +1
jmp +201
acc +4
jmp -165
acc -17
jmp -84
acc -16
acc +2
acc +47
jmp +54
jmp -195
acc +33
acc -17
jmp -18
jmp +256
acc +1
jmp -244
acc +28
acc +35
jmp +189
nop +32
acc +9
jmp +24
acc +21
acc +14
acc +17
jmp -67
acc +21
jmp -297
acc +36
acc +14
acc -13
jmp +115
acc -2
acc -13
jmp -182
nop +119
acc -4
acc +44
acc -14
jmp +61
acc +41
jmp -13
nop -116
jmp -294
jmp +7
jmp +17
acc -14
acc +42
acc -6
acc +24
jmp +151
nop -374
nop -375
acc +4
jmp -268
nop -27
acc +16
acc +2
jmp -206
jmp -320
nop -196
jmp +168
nop +36
acc +34
jmp -402
acc +36
acc +38
acc -11
nop +17
jmp -182
acc +15
jmp -145
acc +43
jmp -79
jmp -391
jmp -155
nop -94
acc +0
acc +9
jmp -441
acc +3
acc +6
acc +50
nop -334
jmp +163
acc +18
acc -11
jmp +21
acc +10
acc +4
nop +132
jmp -348
acc +18
nop -1
acc -4
nop +148
jmp +165
jmp +146
jmp -460
jmp -14
acc +26
nop -388
nop -353
jmp +119
acc +26
acc -1
acc +9
jmp -285
acc +37
jmp -345
jmp -178
acc +7
acc +13
jmp -39
acc +29
nop -200
acc +50
acc +24
jmp -160
acc +18
jmp +63
acc -11
acc +1
acc -6
acc +33
jmp -90
acc -3
acc +11
acc +45
jmp -197
jmp -169
acc +7
acc -4
jmp -281
acc +48
nop +19
nop -25
nop +9
jmp -274
nop -126
acc +22
acc -4
jmp -408
acc +1
acc +0
jmp +98
acc +25
acc +12
acc -19
jmp -90
acc +44
acc +20
acc +21
jmp -192
acc -12
jmp -70
nop +3
acc +17
jmp -349
acc +20
acc -7
acc +6
nop -43
jmp +53
acc +34
acc +48
acc -4
acc +8
jmp -126
acc +23
acc +25
jmp -349
acc -4
jmp -272
jmp -129
nop -366
jmp -292
acc +29
nop -269
acc +50
nop -254
jmp -321
jmp -23
acc +11
nop -425
nop -150
acc -9
jmp -467
acc +18
acc +27
jmp -338
jmp +1
acc +21
acc +27
acc -11
jmp -160
acc +27
acc +15
acc +0
acc +41
jmp -386
acc -10
acc +14
jmp -217
nop -484
acc +47
jmp -529
acc -10
acc +48
acc +0
jmp -430
acc +45
acc -8
acc +3
nop -103
jmp -387
acc -16
acc +39
jmp +1
acc +17
jmp -350
jmp -328
acc +30
acc +28
jmp -309
nop -361
acc +1
nop -468
jmp -212
acc +29
acc -4
jmp -249
acc +45
acc +30
acc +40
acc -17
jmp -579
acc +25
jmp -525
nop -217
acc +17
acc +3
jmp -142
nop +18
jmp -493
jmp +1
jmp -495
jmp -360
acc +7
acc +30
acc -3
nop -449
jmp -326
acc -10
acc -8
jmp -371
acc +22
acc +48
acc +6
acc +18
jmp -59
acc +17
acc +14
jmp -250
acc +19
acc +25
acc -14
acc -17
jmp -517
acc +29
acc -4
acc +9
acc +17
jmp +1'''

	clean_test_rows = input_test_part1.split("\n")
	clean_real_rows_part1 = input_real_part1.split("\n")

	number: int = 0
	row_index: int = 0
	walked_indexes: list = []
	not_in_infinite_loop = True

	while not_in_infinite_loop:
		number, row_index, walked_indexes, not_in_infinite_loop = execute_row(clean_real_rows_part1[row_index],
		                                                                      number,
		                                                                      row_index, walked_indexes,
		                                                                      not_in_infinite_loop)
	print(f"Last row: {clean_real_rows_part1[row_index]}, ACC: {number}, row index: {row_index}")


def execute_row(row: str, accumulator: int, current_row_index: int, walked_indexes: list, infinite_test: bool):
	row = row.split()
	if row[0] == "acc":
		accumulator = acc(row[1], accumulator)
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(1, current_row_index, walked_indexes,
		                                                                     infinite_test)
	elif row[0] == "jmp":
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(row[1], current_row_index, walked_indexes,
		                                                                     infinite_test)
	elif row[0] == "nop":
		current_row_index, walked_indexes, infinite_test = jump_to_row_index(1, current_row_index, walked_indexes,
		                                                                     infinite_test)

	return (accumulator, current_row_index, walked_indexes, infinite_test)


def jump_to_row_index(jump_by: int, current_index: int, walked_indexes: list, infinite_test: bool) -> int:
	new_index = current_index + int(jump_by)
	if new_index not in walked_indexes:
		walked_indexes.append(new_index)
		return (new_index, walked_indexes, infinite_test)
	else:
		infinite_test = False
		return (new_index, walked_indexes, infinite_test)


def acc(modifier: int, number: int) -> int:
	"""
	acc adds or subtracts from accumulator

	:param modifier: Number to added/subtracted from acc
	:param number: current acc value
	:type modifier: int
	:type number: int
	:rtype: int
	"""

	return number + int(modifier)


if __name__ == '__main__':
	main()

nop +0 acc +1 jmp +4 acc +3 jmp -3 acc -99 acc +1 jmp -4 acc +6 acc -15 jmp +164 nop +157 acc -12 acc -19 acc +41 jmp +177 acc +36 acc +37 nop +471 jmp +433 acc +24 acc +13 acc -12 jmp +556 jmp +1 acc -15 acc +33 jmp +299 jmp +344 acc -3 jmp +124 acc +10 nop +562 acc +45 jmp +386 acc -3 jmp +206 acc -19 acc +12 jmp +424 acc -18 acc +23 acc +12 acc +0 jmp +311 nop +327 jmp +301 acc +20 nop +375 jmp +25 acc -13 acc +49 acc +23 acc -3 jmp +346 acc +2 acc +3 jmp +123 acc -7 nop +183 jmp +165 acc +47 acc +34 jmp +1 jmp +359 acc +12 acc +16 acc -3 acc +0 jmp +556 acc +14 acc -3 jmp +559 jmp +192 jmp +495 nop +264 acc +3 acc +47 jmp +187 acc -18 jmp +1 acc -12 jmp -58 acc +49 nop +288 jmp +145 acc +46 jmp +294 acc +38 nop +400 jmp +373 acc +7 acc +31 jmp +492 acc +40 acc +5 acc +11 jmp +263 acc +29 acc +10 acc +21 acc +14 jmp +450 nop +458 acc +38 nop +432 acc +42 jmp +191 jmp +279 nop +71 acc -17 jmp -64 acc +17 jmp +1 acc +29 jmp +506 jmp +354 acc +42 acc +32 jmp -40 jmp +184 acc +41 acc -7 acc +10 acc +38 jmp +100 jmp +104 jmp +245 jmp +335 jmp +20 acc +3 jmp +490 jmp -62 acc +34 acc +34 acc -1 jmp +6 acc +5 acc -9 acc -19 jmp +397 jmp +253 acc +9 jmp +270 acc +8 acc -16 acc +32 acc +48 jmp +258 acc +4 acc +37 nop +319 jmp +318 jmp -4 acc -5 jmp +32 nop -86 jmp +306 acc -13 acc +50 acc -16 jmp -53 acc +31 jmp +52 acc -11 jmp +89 acc +21 jmp +126 acc +44 acc +49 nop +177 jmp +44 acc +8 jmp +166 acc +20 acc -8 acc +38 acc +10 jmp +311 jmp +21 acc -10 nop +84 acc -7 acc +13 jmp +78 jmp +1 jmp +366 acc -6 acc -12 jmp -142 nop +223 jmp +42 acc -6 nop +227 nop +193 acc +23 jmp +83 acc -10 acc +12 jmp +1 acc -8 acc +3 nop +28 jmp +301 acc +23 jmp -170 nop -79 acc +21 acc +37 jmp +138 acc +37 acc +24 nop +413 acc -9 jmp -179 acc -1 acc -10 nop +261 acc -19 jmp +168 acc -16 acc +19 acc +17 acc +21 jmp -9 jmp +46 acc +4 nop +398 acc +28 jmp +396 acc +11 jmp +384 jmp +375 acc +25 acc +30 acc -11 jmp +371 jmp +249 acc -10 acc -15 jmp -7 jmp +38 acc +29 acc +15 acc +46 jmp -77 acc +43 jmp -83 jmp -42 acc +30 acc +44 acc +33 acc +14 jmp +326 acc -3 nop +49 acc +12 jmp +63 acc -13 acc -19 acc -17 jmp +126 jmp +293 acc +16 jmp -185 acc -12 jmp -92 acc -13 acc +19 acc -1 jmp -138 acc +28 nop -243 nop +352 acc +43 jmp +249 acc -5 acc +36 jmp -217 nop +197 nop -106 acc +30 jmp +194 acc +7 acc -16 nop +128 jmp -239 jmp -258 acc +11 nop -74 acc +42 acc +40 jmp +72 jmp -207 nop +337 nop -240 nop -169 jmp -55 nop +165 acc +27 acc +4 jmp -169 acc -2 jmp +69 acc +0 jmp -250 acc +11 acc +45 acc +31 jmp +195 acc -10 acc -8 nop -283 acc -2 jmp +63 acc +17 acc +12 acc +0 nop +243 jmp +190 acc +17 acc -18 jmp +78 acc +7 acc +33 jmp +244 nop +29 acc +20 nop +150 acc +29 jmp -43 acc +45 nop -132 acc +16 acc +14 jmp -237 jmp -199 acc -4 jmp +179 acc +13 acc +15 acc +6 acc +46 jmp -222 acc -8 acc +15 jmp -26 acc +38 jmp +1 nop +266 jmp +44 acc -13 nop +209 acc +21 jmp +201 acc +8 acc +18 jmp +190 acc +35 jmp -238 jmp +69 acc -11 nop -182 jmp -221 acc -16 acc -5 acc +7 jmp +39 acc +26 acc +43 acc +20 jmp +92 acc +22 jmp +81 acc +32 acc -13 jmp +30 acc +1 jmp +201 acc +4 jmp -165 acc -17 jmp -84 acc -16 acc +2 acc +47 jmp +54 jmp -195 acc +33 acc -17 jmp -18 jmp +256 acc +1 jmp -244 acc +28 acc +35 jmp +189 nop +32 acc +9 jmp +24 acc +21 acc +14 acc +17 jmp -67 acc +21 jmp -297 acc +36 acc +14 acc -13 jmp +115 acc -2 acc -13 jmp -182 nop +119 acc -4 acc +44 acc -14 jmp +61 acc +41 jmp -13 nop -116 jmp -294 jmp +7 jmp +17 acc -14 acc +42 acc -6 acc +24 jmp +151 nop -374 nop -375 acc +4 jmp -268 nop -27 acc +16 acc +2 jmp -206 jmp -320 nop -196 jmp +168 nop +36 acc +34 jmp -402 acc +36 acc +38 acc -11 nop +17 jmp -182 acc +15 jmp -145 acc +43 jmp -79 jmp -391 jmp -155 nop -94 acc +0 acc +9 jmp -441 acc +3 acc +6 acc +50 nop -334 jmp +163 acc +18 acc -11 jmp +21 acc +10 acc +4 nop +132 jmp -348 acc +18 nop -1 acc -4 nop +148 jmp +165 jmp +146 jmp -460 jmp -14 acc +26 nop -388 nop -353 jmp +119 acc +26 acc -1 acc +9 jmp -285 acc +37 jmp -345 jmp -178 acc +7 acc +13 jmp -39 acc +29 nop -200 acc +50 acc +24 jmp -160 acc +18 jmp +63 acc -11 acc +1 acc -6 acc +33 jmp -90 acc -3 acc +11 acc +45 jmp -197 jmp -169 acc +7 acc -4 jmp -281 acc +48 nop +19 nop -25 nop +9 jmp -274 nop -126 acc +22 acc -4 jmp -408 acc +1 acc +0 jmp +98 acc +25 acc +12 acc -19 jmp -90 acc +44 acc +20 acc +21 jmp -192 acc -12 jmp -70 nop +3 acc +17 jmp -349 acc +20 acc -7 acc +6 nop -43 jmp +53 acc +34 acc +48 acc -4 acc +8 jmp -126 acc +23 acc +25 jmp -349 acc -4 jmp -272 jmp -129 nop -366 jmp -292 acc +29 nop -269 acc +50 nop -254 jmp -321 jmp -23 acc +11 nop -425 nop -150 acc -9 jmp -467 acc +18 acc +27 jmp -338 jmp +1 acc +21 acc +27 acc -11 jmp -160 acc +27 acc +15 acc +0 acc +41 jmp -386 acc -10 acc +14 jmp -217 nop -484 acc +47 jmp -529 acc -10 acc +48 acc +0 jmp -430 acc +45 acc -8 acc +3 nop -103 jmp -387 acc -16 acc +39 jmp +1 acc +17 jmp -350 jmp -328 acc +30 acc +28 jmp -309 nop -361 acc +1 nop -468 jmp -212 acc +29 acc -4 jmp -249 acc +45 acc +30 acc +40 acc -17 jmp -579 acc +25 jmp -525 nop -217 acc +17 acc +3 jmp -142 nop +18 jmp -493 jmp +1 jmp -495 jmp -360 acc +7 acc +30 acc -3 nop -449 jmp -326 acc -10 acc -8 jmp -371 acc +22 acc +48 acc +6 acc +18 jmp -59 acc +17 acc +14 jmp -250 acc +19 acc +25 acc -14 acc -17 jmp -517 acc +29 acc -4 acc +9 acc +17 jmp +1 acc adds or subtracts from accumulator  	:param modifier: Number to added/subtracted from acc 	:param number: current acc value 	:type modifier: int 	:type number: int 	:rtype: int