From 7c83ff9e7e204dd01f9b9e744bbc03802847757f Mon Sep 17 00:00:00 2001 From: Marijn Doeve Date: Fri, 3 Dec 2021 05:02:33 +0100 Subject: [PATCH] Prep for 3 --- .gitignore | 4 +- 1.swift | 28 - AoC.xcodeproj/project.pbxproj | 280 ++++- .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/AoC1.xcscheme | 89 ++ .../xcshareddata/xcschemes/AoC2.xcscheme | 89 ++ .../xcshareddata/xcschemes/AoC3.xcscheme | 85 ++ AoC1/main.swift | 40 + AoC2/main.swift | 56 + AoC3/main.swift | 11 + input2.in | 1000 +++++++++++++++++ 11 files changed, 1659 insertions(+), 31 deletions(-) delete mode 100644 1.swift create mode 100644 AoC.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 AoC.xcodeproj/xcshareddata/xcschemes/AoC1.xcscheme create mode 100644 AoC.xcodeproj/xcshareddata/xcschemes/AoC2.xcscheme create mode 100644 AoC.xcodeproj/xcshareddata/xcschemes/AoC3.xcscheme create mode 100644 AoC1/main.swift create mode 100644 AoC2/main.swift create mode 100644 AoC3/main.swift create mode 100644 input2.in diff --git a/.gitignore b/.gitignore index 5aeddc3..d2e9efd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.idea/ ### https://raw.github.com/github/gitignore/cdd9e946da421758c6f42c427c7bc65c8326155d/Global/macOS.gitignore # General @@ -6,7 +7,8 @@ .LSOverride # Icon must end with two \r -Icon +Icon + # Thumbnails ._* diff --git a/1.swift b/1.swift deleted file mode 100644 index 05190c9..0000000 --- a/1.swift +++ /dev/null @@ -1,28 +0,0 @@ -var depths: [Int] = [] - -while let line = readLine() { - depths.append(Int(line)!) -} - -var total = 0 - -for i in 1.. prev { - total += 1 - } - prev = new -} -print("b:", total0 diff --git a/AoC.xcodeproj/project.pbxproj b/AoC.xcodeproj/project.pbxproj index be3db52..84670e0 100644 --- a/AoC.xcodeproj/project.pbxproj +++ b/AoC.xcodeproj/project.pbxproj @@ -6,15 +6,84 @@ objectVersion = 55; objects = { +/* Begin PBXBuildFile section */ + C6615EEB27582F13004CE48D /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6615EEA27582F13004CE48D /* main.swift */; }; + C6615EF627583238004CE48D /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6615EF527583238004CE48D /* main.swift */; }; + C6E4F9052759CCE4001C8B49 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6E4F9042759CCE4001C8B49 /* main.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C6615EE627582F13004CE48D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + C6615EF127583238004CE48D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; + C6E4F9002759CCE4001C8B49 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ - C6615EE227582D4C004CE48D /* 1.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = 1.swift; sourceTree = ""; }; + C6615EE827582F13004CE48D /* AoC1 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = AoC1; sourceTree = BUILT_PRODUCTS_DIR; }; + C6615EEA27582F13004CE48D /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + C6615EF327583238004CE48D /* AoC2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = AoC2; sourceTree = BUILT_PRODUCTS_DIR; }; + C6615EF527583238004CE48D /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + C6E4F9022759CCE4001C8B49 /* AoC3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = AoC3; sourceTree = BUILT_PRODUCTS_DIR; }; + C6E4F9042759CCE4001C8B49 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; + C6E4F9092759CDDE001C8B49 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ +/* Begin PBXFrameworksBuildPhase section */ + C6615EE527582F13004CE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C6615EF027583238004CE48D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C6E4F8FF2759CCE4001C8B49 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + /* Begin PBXGroup section */ C6615ECF27582D09004CE48D = { isa = PBXGroup; children = ( - C6615EE227582D4C004CE48D /* 1.swift */, + C6615EE927582F13004CE48D /* AoC1 */, + C6615EF427583238004CE48D /* AoC2 */, + C6E4F9032759CCE4001C8B49 /* AoC3 */, + C6E4F9092759CDDE001C8B49 /* .gitignore */, C6615ED927582D09004CE48D /* Products */, ); sourceTree = ""; @@ -22,12 +91,93 @@ C6615ED927582D09004CE48D /* Products */ = { isa = PBXGroup; children = ( + C6615EE827582F13004CE48D /* AoC1 */, + C6615EF327583238004CE48D /* AoC2 */, + C6E4F9022759CCE4001C8B49 /* AoC3 */, ); name = Products; sourceTree = ""; }; + C6615EE927582F13004CE48D /* AoC1 */ = { + isa = PBXGroup; + children = ( + C6615EEA27582F13004CE48D /* main.swift */, + ); + path = AoC1; + sourceTree = ""; + }; + C6615EF427583238004CE48D /* AoC2 */ = { + isa = PBXGroup; + children = ( + C6615EF527583238004CE48D /* main.swift */, + ); + path = AoC2; + sourceTree = ""; + }; + C6E4F9032759CCE4001C8B49 /* AoC3 */ = { + isa = PBXGroup; + children = ( + C6E4F9042759CCE4001C8B49 /* main.swift */, + ); + path = AoC3; + sourceTree = ""; + }; /* End PBXGroup section */ +/* Begin PBXNativeTarget section */ + C6615EE727582F13004CE48D /* AoC1 */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6615EEC27582F13004CE48D /* Build configuration list for PBXNativeTarget "AoC1" */; + buildPhases = ( + C6615EE427582F13004CE48D /* Sources */, + C6615EE527582F13004CE48D /* Frameworks */, + C6615EE627582F13004CE48D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AoC1; + productName = AoC1; + productReference = C6615EE827582F13004CE48D /* AoC1 */; + productType = "com.apple.product-type.tool"; + }; + C6615EF227583238004CE48D /* AoC2 */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6615EF727583238004CE48D /* Build configuration list for PBXNativeTarget "AoC2" */; + buildPhases = ( + C6615EEF27583238004CE48D /* Sources */, + C6615EF027583238004CE48D /* Frameworks */, + C6615EF127583238004CE48D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AoC2; + productName = AoC2; + productReference = C6615EF327583238004CE48D /* AoC2 */; + productType = "com.apple.product-type.tool"; + }; + C6E4F9012759CCE4001C8B49 /* AoC3 */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6E4F9082759CCE4001C8B49 /* Build configuration list for PBXNativeTarget "AoC3" */; + buildPhases = ( + C6E4F8FE2759CCE4001C8B49 /* Sources */, + C6E4F8FF2759CCE4001C8B49 /* Frameworks */, + C6E4F9002759CCE4001C8B49 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = AoC3; + productName = AoC3; + productReference = C6E4F9022759CCE4001C8B49 /* AoC3 */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + /* Begin PBXProject section */ C6615ED027582D09004CE48D /* Project object */ = { isa = PBXProject; @@ -35,6 +185,17 @@ BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1310; LastUpgradeCheck = 1310; + TargetAttributes = { + C6615EE727582F13004CE48D = { + CreatedOnToolsVersion = 13.1; + }; + C6615EF227583238004CE48D = { + CreatedOnToolsVersion = 13.1; + }; + C6E4F9012759CCE4001C8B49 = { + CreatedOnToolsVersion = 13.1; + }; + }; }; buildConfigurationList = C6615ED327582D09004CE48D /* Build configuration list for PBXProject "AoC" */; compatibilityVersion = "Xcode 13.0"; @@ -49,10 +210,40 @@ projectDirPath = ""; projectRoot = ""; targets = ( + C6615EE727582F13004CE48D /* AoC1 */, + C6615EF227583238004CE48D /* AoC2 */, + C6E4F9012759CCE4001C8B49 /* AoC3 */, ); }; /* End PBXProject section */ +/* Begin PBXSourcesBuildPhase section */ + C6615EE427582F13004CE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6615EEB27582F13004CE48D /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C6615EEF27583238004CE48D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6615EF627583238004CE48D /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C6E4F8FE2759CCE4001C8B49 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6E4F9052759CCE4001C8B49 /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + /* Begin XCBuildConfiguration section */ C6615EDD27582D09004CE48D /* Debug */ = { isa = XCBuildConfiguration; @@ -169,6 +360,64 @@ }; name = Release; }; + C6615EED27582F13004CE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + C6615EEE27582F13004CE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + C6615EF827583238004CE48D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + C6615EF927583238004CE48D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + C6E4F9062759CCE4001C8B49 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + C6E4F9072759CCE4001C8B49 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -181,6 +430,33 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + C6615EEC27582F13004CE48D /* Build configuration list for PBXNativeTarget "AoC1" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6615EED27582F13004CE48D /* Debug */, + C6615EEE27582F13004CE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C6615EF727583238004CE48D /* Build configuration list for PBXNativeTarget "AoC2" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6615EF827583238004CE48D /* Debug */, + C6615EF927583238004CE48D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C6E4F9082759CCE4001C8B49 /* Build configuration list for PBXNativeTarget "AoC3" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6E4F9062759CCE4001C8B49 /* Debug */, + C6E4F9072759CCE4001C8B49 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = C6615ED027582D09004CE48D /* Project object */; diff --git a/AoC.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/AoC.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..54782e3 --- /dev/null +++ b/AoC.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded + + + diff --git a/AoC.xcodeproj/xcshareddata/xcschemes/AoC1.xcscheme b/AoC.xcodeproj/xcshareddata/xcschemes/AoC1.xcscheme new file mode 100644 index 0000000..d06cdb7 --- /dev/null +++ b/AoC.xcodeproj/xcshareddata/xcschemes/AoC1.xcscheme @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AoC.xcodeproj/xcshareddata/xcschemes/AoC2.xcscheme b/AoC.xcodeproj/xcshareddata/xcschemes/AoC2.xcscheme new file mode 100644 index 0000000..a8bfcbd --- /dev/null +++ b/AoC.xcodeproj/xcshareddata/xcschemes/AoC2.xcscheme @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AoC.xcodeproj/xcshareddata/xcschemes/AoC3.xcscheme b/AoC.xcodeproj/xcshareddata/xcschemes/AoC3.xcscheme new file mode 100644 index 0000000..67b5111 --- /dev/null +++ b/AoC.xcodeproj/xcshareddata/xcschemes/AoC3.xcscheme @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AoC1/main.swift b/AoC1/main.swift new file mode 100644 index 0000000..2cb148c --- /dev/null +++ b/AoC1/main.swift @@ -0,0 +1,40 @@ +// +// main.swift +// AoC1 +// +// Created by Marijn Doeve on 01-12-2021. +// + +import Foundation + +var depths = [Int]() + +let fileContent = try! String(contentsOfFile: CommandLine.arguments[1]) +for line in fileContent.components(separatedBy: .newlines) { + if let line = Int(line) { + depths.append(line) + } +} + +var total = 0 + +for i in 1.. prev { + total += 1 + } + prev = new +} +print("b:", total) diff --git a/AoC2/main.swift b/AoC2/main.swift new file mode 100644 index 0000000..a64ebee --- /dev/null +++ b/AoC2/main.swift @@ -0,0 +1,56 @@ +// +// main.swift +// AoC2 +// +// Created by Marijn Doeve on 01-12-2021. +// + +import Foundation + +var dept = 0 +var horizontalPosition = 0 + +let fileContent = try! String(contentsOfFile: CommandLine.arguments[1]) +for line in fileContent.trimmingCharacters(in: .newlines).components(separatedBy: .newlines) { + let parts = line.components(separatedBy: " ") + + let direction = parts[0] + let number = Int(parts[1])! + + switch direction { + case "forward": + horizontalPosition += number + case "down": + dept += number + case "up": + dept -= number + default: break + } +} + +print("a:", horizontalPosition * dept) + +var aim = 0 +var deptB = 0 +var horizontalPositionB = 0 + + +for line in fileContent.trimmingCharacters(in: .newlines).components(separatedBy: .newlines) { + let parts = line.components(separatedBy: .whitespaces) + + let direction = parts[0] + let number = Int(parts[1])! + + switch direction { + case "up": + aim -= number + case "down": + aim += number + case "forward": + horizontalPositionB += number + deptB += aim * number + default: break + } +} + +print("b:", horizontalPositionB * deptB) diff --git a/AoC3/main.swift b/AoC3/main.swift new file mode 100644 index 0000000..9ef755f --- /dev/null +++ b/AoC3/main.swift @@ -0,0 +1,11 @@ +// +// main.swift +// AoC3 +// +// Created by Marijn Doeve on 03-12-2021. +// + +import Foundation + +print("Hello, World!") + diff --git a/input2.in b/input2.in new file mode 100644 index 0000000..aef25e3 --- /dev/null +++ b/input2.in @@ -0,0 +1,1000 @@ +forward 8 +forward 3 +down 8 +forward 4 +down 2 +down 4 +down 8 +down 4 +down 7 +up 4 +down 6 +down 2 +forward 7 +down 5 +down 7 +down 5 +forward 8 +forward 4 +forward 3 +down 4 +forward 2 +up 3 +up 6 +forward 7 +down 4 +down 2 +forward 7 +up 3 +forward 8 +down 4 +down 6 +forward 3 +forward 9 +down 9 +down 6 +forward 8 +up 8 +forward 3 +down 8 +down 4 +forward 7 +forward 3 +up 9 +down 8 +forward 7 +forward 5 +forward 3 +down 1 +down 4 +forward 1 +down 6 +forward 9 +up 2 +forward 3 +down 2 +down 1 +up 5 +down 8 +down 7 +down 5 +down 9 +up 7 +forward 4 +down 9 +down 8 +down 4 +forward 3 +down 1 +up 8 +down 1 +down 8 +forward 4 +up 1 +forward 7 +down 6 +down 2 +forward 3 +down 9 +forward 9 +forward 4 +down 1 +up 6 +down 1 +up 2 +down 4 +down 9 +down 7 +forward 5 +down 3 +up 9 +forward 4 +up 5 +down 9 +forward 1 +forward 7 +forward 1 +down 8 +forward 5 +down 2 +down 4 +down 3 +forward 4 +down 9 +up 7 +up 1 +forward 4 +up 2 +forward 4 +forward 4 +down 1 +down 5 +forward 6 +forward 1 +down 6 +forward 8 +forward 8 +forward 6 +down 3 +forward 3 +forward 1 +forward 5 +forward 7 +down 5 +forward 8 +down 7 +down 8 +forward 7 +forward 8 +down 7 +forward 7 +up 2 +up 9 +down 1 +forward 1 +forward 6 +up 3 +up 6 +down 2 +down 4 +forward 2 +up 8 +forward 5 +up 9 +up 5 +down 2 +forward 5 +forward 9 +up 3 +forward 7 +down 4 +down 3 +down 2 +forward 9 +up 4 +down 7 +down 1 +forward 9 +forward 3 +up 4 +forward 1 +up 6 +forward 5 +forward 2 +forward 2 +down 9 +forward 1 +up 7 +forward 3 +down 1 +down 5 +up 8 +down 5 +forward 5 +forward 5 +down 9 +up 5 +forward 8 +up 9 +down 1 +forward 1 +down 7 +up 3 +down 9 +down 9 +down 5 +up 6 +forward 7 +down 5 +down 2 +down 5 +forward 3 +forward 2 +forward 9 +forward 5 +forward 6 +up 7 +up 7 +forward 4 +forward 2 +up 4 +up 6 +down 8 +up 9 +up 5 +down 8 +forward 4 +up 9 +forward 8 +forward 3 +down 6 +down 6 +down 7 +down 6 +forward 7 +up 5 +down 2 +down 5 +forward 2 +up 5 +forward 7 +down 5 +up 4 +up 2 +forward 2 +forward 9 +forward 5 +forward 8 +up 4 +forward 6 +up 7 +forward 5 +down 2 +down 3 +down 8 +up 2 +down 2 +up 1 +up 7 +down 1 +down 6 +down 9 +down 7 +forward 8 +up 8 +up 9 +down 9 +forward 6 +forward 6 +down 6 +forward 3 +forward 4 +forward 6 +forward 7 +down 5 +down 8 +forward 7 +forward 9 +down 4 +up 9 +forward 8 +down 6 +down 1 +down 2 +forward 4 +down 5 +up 1 +forward 1 +down 6 +forward 4 +forward 2 +forward 6 +down 8 +up 2 +up 8 +forward 3 +down 6 +forward 7 +down 1 +forward 1 +forward 8 +down 8 +down 8 +down 2 +forward 8 +down 4 +up 8 +down 6 +forward 2 +down 5 +up 3 +up 1 +down 2 +forward 4 +up 7 +forward 2 +up 9 +forward 1 +down 5 +forward 3 +up 9 +up 4 +down 4 +up 6 +down 1 +forward 9 +up 5 +forward 5 +up 4 +down 6 +forward 2 +up 6 +forward 5 +forward 5 +down 4 +up 7 +forward 2 +down 9 +down 8 +down 7 +forward 4 +forward 7 +down 4 +forward 9 +up 2 +forward 1 +up 4 +down 8 +forward 9 +up 2 +up 5 +down 7 +up 6 +forward 7 +up 1 +forward 3 +down 3 +down 2 +down 6 +down 6 +forward 3 +down 2 +down 2 +down 5 +down 4 +down 6 +down 2 +forward 7 +down 6 +forward 4 +down 5 +down 7 +down 3 +forward 2 +forward 8 +forward 1 +up 6 +down 8 +down 4 +up 5 +forward 5 +down 7 +forward 5 +forward 8 +forward 7 +down 8 +down 5 +down 3 +up 2 +forward 8 +forward 7 +down 6 +up 1 +down 9 +down 3 +down 7 +down 2 +forward 9 +forward 2 +forward 4 +forward 8 +forward 3 +forward 2 +down 3 +down 8 +up 7 +down 7 +down 1 +forward 8 +down 2 +up 4 +forward 9 +down 6 +forward 5 +forward 8 +forward 1 +forward 4 +down 6 +down 1 +down 6 +forward 1 +forward 7 +down 3 +down 3 +down 1 +up 2 +down 6 +down 5 +down 6 +forward 5 +forward 2 +forward 1 +forward 8 +up 5 +down 2 +down 9 +down 9 +down 5 +down 3 +up 6 +forward 2 +down 7 +down 7 +down 2 +down 2 +up 6 +forward 8 +forward 6 +forward 4 +down 1 +forward 7 +down 5 +up 9 +forward 5 +down 4 +down 9 +up 7 +forward 1 +up 3 +up 7 +forward 6 +forward 8 +up 6 +up 3 +forward 4 +up 3 +down 1 +forward 8 +forward 1 +up 3 +forward 7 +up 2 +forward 6 +forward 2 +down 2 +down 9 +down 9 +forward 1 +forward 8 +down 5 +forward 4 +forward 5 +forward 5 +down 9 +forward 8 +up 8 +down 6 +down 2 +down 5 +down 6 +up 9 +up 8 +down 4 +down 9 +up 4 +forward 6 +forward 1 +forward 3 +up 4 +up 3 +forward 3 +forward 8 +down 1 +down 2 +down 2 +forward 9 +forward 4 +up 2 +forward 7 +down 4 +up 1 +forward 2 +forward 9 +forward 8 +down 4 +down 7 +up 7 +down 1 +forward 3 +down 7 +down 8 +up 2 +forward 2 +forward 8 +forward 4 +forward 4 +down 5 +forward 8 +down 2 +up 7 +down 1 +up 9 +up 5 +down 3 +forward 6 +forward 2 +forward 6 +down 5 +down 6 +forward 9 +up 5 +up 6 +down 4 +down 5 +up 4 +down 6 +down 2 +down 5 +down 4 +forward 7 +forward 6 +down 8 +forward 2 +down 5 +down 7 +down 2 +forward 8 +forward 6 +down 3 +forward 4 +up 6 +down 9 +down 3 +forward 3 +forward 3 +down 9 +up 1 +up 3 +forward 3 +forward 6 +forward 1 +forward 4 +forward 3 +forward 3 +forward 3 +down 6 +down 8 +forward 3 +down 5 +forward 8 +forward 3 +down 4 +up 3 +up 1 +down 7 +forward 7 +up 6 +forward 7 +down 4 +down 7 +up 9 +down 9 +forward 8 +down 5 +down 2 +forward 9 +down 3 +forward 4 +forward 4 +forward 4 +forward 6 +down 1 +up 5 +forward 8 +down 6 +forward 5 +up 5 +up 5 +down 2 +down 9 +down 7 +up 3 +up 7 +up 6 +forward 2 +forward 6 +up 9 +forward 5 +forward 2 +up 4 +down 4 +down 5 +forward 7 +down 5 +down 7 +forward 3 +down 6 +down 1 +forward 6 +up 5 +up 6 +up 3 +down 9 +up 7 +forward 9 +down 3 +forward 4 +up 2 +forward 9 +down 2 +up 2 +up 5 +forward 1 +down 8 +down 1 +down 8 +up 2 +forward 9 +forward 1 +up 2 +down 1 +up 1 +forward 2 +down 7 +forward 9 +up 1 +forward 8 +down 5 +down 5 +down 9 +forward 5 +down 7 +down 1 +forward 9 +down 5 +forward 9 +forward 9 +down 6 +down 5 +down 6 +forward 3 +down 4 +up 8 +down 6 +up 4 +down 9 +up 1 +up 2 +up 8 +forward 6 +down 7 +down 4 +down 9 +down 3 +forward 9 +down 5 +forward 6 +down 6 +forward 7 +down 9 +forward 2 +forward 2 +down 8 +down 7 +forward 5 +down 8 +forward 6 +down 1 +forward 6 +forward 7 +forward 3 +forward 2 +forward 1 +forward 1 +down 9 +forward 7 +up 9 +down 5 +forward 6 +down 4 +down 2 +forward 4 +forward 3 +forward 9 +down 8 +down 2 +forward 4 +down 8 +down 6 +forward 9 +down 7 +forward 1 +up 1 +forward 3 +down 5 +down 8 +up 6 +forward 9 +forward 4 +down 2 +forward 4 +up 2 +forward 9 +down 5 +down 1 +down 9 +forward 5 +down 9 +forward 1 +down 9 +forward 8 +down 5 +forward 9 +forward 8 +up 8 +down 7 +up 9 +down 5 +up 9 +forward 7 +forward 7 +forward 1 +up 2 +up 2 +forward 6 +up 5 +up 5 +down 7 +forward 2 +up 8 +forward 8 +down 8 +forward 7 +forward 8 +down 7 +down 8 +forward 4 +forward 2 +down 8 +up 4 +down 1 +up 7 +forward 4 +forward 3 +down 6 +up 6 +forward 6 +down 1 +forward 3 +down 6 +forward 6 +up 3 +up 1 +up 5 +down 1 +up 9 +down 8 +forward 7 +forward 9 +up 2 +forward 2 +forward 6 +up 2 +up 3 +forward 1 +forward 2 +forward 8 +down 6 +forward 5 +down 8 +forward 2 +up 1 +down 1 +down 3 +forward 9 +down 6 +down 1 +down 6 +down 6 +down 6 +down 1 +up 6 +down 6 +forward 6 +down 5 +down 2 +up 5 +forward 7 +down 3 +forward 9 +forward 2 +down 2 +down 1 +down 9 +up 3 +down 2 +forward 2 +forward 6 +down 4 +up 7 +up 3 +up 9 +forward 3 +forward 8 +forward 9 +forward 4 +forward 2 +up 7 +up 5 +down 9 +forward 1 +up 1 +down 7 +forward 5 +forward 5 +down 3 +forward 1 +forward 6 +up 8 +down 4 +down 2 +up 2 +forward 2 +forward 1 +down 4 +up 9 +down 1 +down 4 +down 6 +forward 3 +forward 7 +down 4 +up 8 +down 6 +forward 7 +forward 4 +up 2 +down 8 +forward 5 +down 1 +forward 7 +down 1 +up 6 +down 9 +forward 3 +forward 1 +up 2 +up 4 +forward 8 +forward 1 +up 8 +forward 3 +forward 7 +up 9 +up 6 +up 9 +down 9 +down 5 +forward 8 +forward 7 +down 5 +forward 7 +forward 6 +forward 8 +up 4 +forward 6 +down 6 +up 8 +down 7 +up 8 +forward 6 +forward 7 +down 4 +forward 4 +up 2 +forward 9 +down 6 +down 2 +down 8 +forward 6 +up 2 +up 8 +forward 2 +down 3 +forward 7 +forward 6 +down 9 +up 1 +forward 1 +down 8 +down 8 +forward 4 +forward 4 +up 6 +down 8 +up 8 +forward 1 +forward 1 +down 6 +up 3 +up 7 +forward 1 +forward 1 +up 2 +forward 2 +down 4 +up 8 +forward 1 +up 7 +down 2 +forward 2 +down 1 +forward 1 +down 4 +forward 4 +forward 8 +up 5 +down 6 +up 8 +forward 4 +down 3 +up 6 +forward 3 +forward 4 +down 5 +forward 1 +forward 6 +forward 4 +forward 1 +down 7 +down 4 +forward 2 +down 6 +forward 3 +down 5 +forward 3 +forward 4 +forward 4 +forward 9 +down 5 +forward 7 +forward 7 +forward 9 +down 1 +up 6 +forward 1 +down 9 +forward 3 +down 7 +up 8 +up 6 +down 7 +forward 2 +down 9 +forward 9 +forward 6 +down 9 +forward 6 +down 8 +forward 1 +up 6 +down 1 +forward 6 +down 9 +forward 6 +forward 7 +forward 3 +forward 8 +forward 5 +forward 8 +down 9 +down 2 +forward 3 +down 3 +up 4 +down 4 +down 3 +forward 3 +forward 3 +down 5 +forward 5 +forward 1 +down 9 +down 3 +up 7 +forward 9 +up 1 +down 1 +down 6 +up 1 +forward 2