Skip to content

Fuzz: "thread '<unnamed>' panicked at compiler/qsc_hir/src/ty.rs:545:51:" (ubuntu-latest) #2363

Closed
@github-actions

Description

@github-actions

The fuzz-testing workflow has detected a bug.

Auto-Minimized Fuzzing Input That Triggers the Bug: Click this line. Note: If the input is multi-line then the end-of-line characters '\n' (0x0A) and '\r' (0x0D) may affect the reproducibility of the bug. If you fail to repro the bug with the input shown below then you may want to go to the workflow that reported this GitHub bug, download the artifact, and extract the file with the exact minimized input.
operation e(oracle:(w=>)){oracle=i(_)
Fuzzing stderr Log (last 62kB), includes the stack trace: Click. The fragment of interest starts with "panicked at".
_unwind
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/panicking.rs:697:5
   1: core::panicking::panic_fmt
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/panicking.rs:75:14
   2: qsc_hir::ty::FunctorSet::expect_value
             at ./compiler/qsc_hir/src/ty.rs:545:51
   3: qsc_frontend::closure::partial_app_block
             at ./compiler/qsc_frontend/src/closure.rs:176:19
   4: qsc_frontend::lower::With::lower_partial_app
             at ./compiler/qsc_frontend/src/lower.rs:895:25
   5: qsc_frontend::lower::With::lower_expr
             at ./compiler/qsc_frontend/src/lower.rs:742:21
   6: qsc_frontend::lower::With::lower_expr
             at ./compiler/qsc_frontend/src/lower.rs:713:26
   7: qsc_frontend::lower::With::lower_stmt
             at ./compiler/qsc_frontend/src/lower.rs:684:62
   8: qsc_frontend::lower::With::lower_block::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:659:33
   9: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/ops/function.rs:294:13
  10: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::find_map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/slice/iter/macros.rs:342:38
  11: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/adapters/filter_map.rs:64:9
  12: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter_nested.rs:25:32
  13: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter.rs:34:9
  14: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3438:9
  15: core::iter::traits::iterator::Iterator::collect
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/traits/iterator.rs:2003:9
  16: qsc_frontend::lower::With::lower_block
             at ./compiler/qsc_frontend/src/lower.rs:656:20
  17: qsc_frontend::lower::With::lower_callable_decl
             at ./compiler/qsc_frontend/src/lower.rs:524:53
  18: qsc_frontend::lower::With::lower_item
             at ./compiler/qsc_frontend/src/lower.rs:304:44
  19: qsc_frontend::lower::With::lower_stmt
             at ./compiler/qsc_frontend/src/lower.rs:669:62
  20: qsc_frontend::lower::With::lower_block::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:659:33
  21: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/ops/function.rs:294:13
  22: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::find_map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/slice/iter/macros.rs:342:38
  23: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/adapters/filter_map.rs:64:9
  24: alloc::vec::Vec<T,A>::extend_desugared
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3546:35
  25: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_extend.rs:19:9
  26: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter_nested.rs:42:9
  27: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter.rs:34:9
  28: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3438:9
  29: core::iter::traits::iterator::Iterator::collect
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/traits/iterator.rs:2003:9
  30: qsc_frontend::lower::With::lower_block
             at ./compiler/qsc_frontend/src/lower.rs:656:20
  31: qsc_frontend::lower::With::lower_callable_decl
             at ./compiler/qsc_frontend/src/lower.rs:524:53
  32: qsc_frontend::lower::With::lower_item
             at ./compiler/qsc_frontend/src/lower.rs:304:44
  33: qsc_frontend::lower::With::lower_stmt
             at ./compiler/qsc_frontend/src/lower.rs:669:62
  34: qsc_frontend::lower::With::lower_block::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:659:33
  35: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/ops/function.rs:294:13
  36: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::find_map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/slice/iter/macros.rs:342:38
  37: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/adapters/filter_map.rs:64:9
  38: alloc::vec::Vec<T,A>::extend_desugared
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3546:35
  39: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_extend.rs:19:9
  40: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter_nested.rs:42:9
  41: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter.rs:34:9
  42: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3438:9
  43: core::iter::traits::iterator::Iterator::collect
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/traits/iterator.rs:2003:9
  44: qsc_frontend::lower::With::lower_block
             at ./compiler/qsc_frontend/src/lower.rs:656:20
  45: qsc_frontend::lower::With::lower_expr
             at ./compiler/qsc_frontend/src/lower.rs:770:48
  46: qsc_frontend::lower::With::lower_expr::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:772:52
  47: core::option::Option<T>::map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/option.rs:1144:29
  48: qsc_frontend::lower::With::lower_expr
             at ./compiler/qsc_frontend/src/lower.rs:772:35
  49: qsc_frontend::lower::With::lower_stmt
             at ./compiler/qsc_frontend/src/lower.rs:668:62
  50: qsc_frontend::lower::With::lower_block::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:659:33
  51: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/ops/function.rs:294:13
  52: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::find_map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/slice/iter/macros.rs:342:38
  53: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/adapters/filter_map.rs:64:9
  54: alloc::vec::Vec<T,A>::extend_desugared
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3546:35
  55: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_extend.rs:19:9
  56: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter_nested.rs:42:9
  57: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter.rs:34:9
  58: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3438:9
  59: core::iter::traits::iterator::Iterator::collect
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/traits/iterator.rs:2003:9
  60: qsc_frontend::lower::With::lower_block
             at ./compiler/qsc_frontend/src/lower.rs:656:20
  61: qsc_frontend::lower::With::lower_callable_decl
             at ./compiler/qsc_frontend/src/lower.rs:524:53
  62: qsc_frontend::lower::With::lower_item
             at ./compiler/qsc_frontend/src/lower.rs:304:44
  63: qsc_frontend::lower::With::lower_namespace::{{closure}}
             at ./compiler/qsc_frontend/src/lower.rs:225:29
  64: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/ops/function.rs:294:13
  65: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::find_map
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/slice/iter/macros.rs:342:38
  66: <core::iter::adapters::filter_map::FilterMap<I,F> as core::iter::traits::iterator::Iterator>::next
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/adapters/filter_map.rs:64:9
  67: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter_nested.rs:25:32
  68: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/spec_from_iter.rs:34:9
  69: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/alloc/src/vec/mod.rs:3438:9
  70: core::iter::traits::iterator::Iterator::collect
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/core/src/iter/traits/iterator.rs:2003:9
  71: qsc_frontend::lower::With::lower_namespace
             at ./compiler/qsc_frontend/src/lower.rs:222:21
  72: qsc_frontend::lower::With::lower_package
             at ./compiler/qsc_frontend/src/lower.rs:171:60
  73: qsc_frontend::compile::compile_ast
             at ./compiler/qsc_frontend/src/compile.rs:408:19
  74: qsc_frontend::compile::compile
             at ./compiler/qsc_frontend/src/compile.rs:367:5
  75: qsc::compile::compile
             at ./compiler/qsc/src/compile.rs:82:16
  76: qsharp::compile::{{closure}}
             at ./fuzz/fuzz_targets/qsharp.rs:23:29
  77: std::thread::local::LocalKey<T>::try_with
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/thread/local.rs:315:12
  78: std::thread::local::LocalKey<T>::with
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/thread/local.rs:279:15
  79: qsharp::compile
             at ./fuzz/fuzz_targets/qsharp.rs:22:9
  80: rust_fuzzer_test_input
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/src/lib.rs:224:17
  81: libfuzzer_sys::test_input_wrap::{{closure}}
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/src/lib.rs:61:9
  82: std::panicking::try::do_call
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/panicking.rs:589:40
  83: std::panicking::try
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/panicking.rs:552:19
  84: std::panic::catch_unwind
             at /rustc/13e87909494f2f31bce51bc106e2b629420d1235/library/std/src/panic.rs:359:14
  85: LLVMFuzzerTestOneInput
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/src/lib.rs:59:22
  86: _ZN6fuzzer6Fuzzer15ExecuteCallbackEPKhm
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerLoop.cpp:612:15
  87: _ZN6fuzzer6Fuzzer6RunOneEPKhmbPNS_9InputInfoEbPb
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerLoop.cpp:514:22
  88: _ZN6fuzzer6Fuzzer16MutateAndTestOneEv
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerLoop.cpp:758:25
  89: _ZN6fuzzer6Fuzzer4LoopERSt6vectorINS_9SizedFileESaIS2_EE
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerLoop.cpp:903:21
  90: _ZN6fuzzer12FuzzerDriverEPiPPPcPFiPKhmE
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerDriver.cpp:912:10
  91: main
             at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/libfuzzer-sys-0.4.7/libfuzzer/FuzzerMain.cpp:20:30
  92: <unknown>
  93: __libc_start_main
  94: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
==4947== ERROR: libFuzzer: deadly signal
NOTE: libFuzzer has rudimentary signal handlers.
      Combine libFuzzer with AddressSanitizer or similar for better crash reports.
SUMMARY: libFuzzer: deadly signal
MS: 2 CMP-CrossOver- DE: "\001\000\000\000\000\000\000\000"-; base unit: fcfc2ed5038cd8a46a3caf4c42db1f3f8eb53d88
artifact_prefix='/home/runner/work/qsharp/qsharp/fuzz/artifacts/qsharp/'; Test unit written to /home/runner/work/qsharp/qsharp/fuzz/artifacts/qsharp/crash-fc34245dd0fcb868d327fcebe2886932983e9a54

────────────────────────────────────────────────────────────────────────────────

Failing input:

	fuzz/artifacts/qsharp/crash-fc34245dd0fcb868d327fcebe2886932983e9a54

Output of `std::fmt::Debug`:

	[47, 47, 32, 67, 111, 112, 121, 114, 105, 103, 104, 116, 32, 40, 99, 41, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 67, 111, 114, 112, 111, 114, 97, 116, 105, 111, 110, 46, 10, 47, 47, 32, 76, 105, 99, 101, 110, 115, 101, 100, 32, 117, 110, 100, 101, 114, 32, 116, 104, 101, 32, 77, 73, 84, 32, 76, 105, 99, 101, 110, 115, 101, 46, 10, 10, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 67, 104, 101, 109, 105, 115, 116, 114, 121, 46, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 32, 123, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 80, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 65, 114, 105, 116, 104, 109, 101, 116, 105, 99, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 73, 110, 116, 114, 105, 110, 115, 105, 99, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 67, 97, 110, 111, 110, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 67, 111, 110, 118, 101, 114, 116, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 65, 114, 114, 97, 121, 115, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 77, 97, 116, 104, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 59, 10, 10, 32, 32, 32, 32, 47, 47, 110, 101, 119, 116, 121, 112, 101, 32, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 73, 110, 112, 117, 116, 83, 116, 97, 116, 101, 32, 61, 32, 40, 40, 68, 111, 117, 98, 108, 101, 44, 32, 68, 111, 117, 98, 108, 101, 41, 44, 32, 73, 110, 116, 91, 93, 41, 59, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 80, 114, 101, 112, 97, 114, 101, 84, 114, 105, 97, 108, 83, 116, 97, 116, 101, 32, 40, 115, 116, 97, 116, 101, 68, 97, 116, 97, 32, 58, 32, 40, 73, 110, 116, 44, 32, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 73, 110, 112, 117, 116, 83, 116, 97, 116, 101, 91, 93, 41, 44, 32, 113, 117, 98, 105, 116, 115, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 32, 58, 32, 85, 110, 105, 116, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 40, 115, 116, 97, 116, 101, 84, 121, 112, 101, 44, 32, 116, 101, 114, 109, 115, 41, 32, 61, 32, 115, 116, 97, 116, 101, 68, 97, 116, 97, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 116, 97, 116, 101, 32, 116, 121, 112, 101, 32, 105, 110, 100, 101, 120, 105, 110, 103, 32, 102, 114, 111, 109, 32, 70, 101, 114, 109, 105, 111, 110, 72, 97, 109, 105, 108, 116, 111, 110, 105, 97, 110, 83, 116, 97, 116, 101, 80, 114, 101, 112, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 112, 117, 98, 108, 105, 99, 32, 101, 110, 117, 109, 32, 83, 116, 97, 116, 101, 84, 121, 112, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 32, 32, 32, 68, 101, 102, 97, 117, 108, 116, 32, 61, 32, 48, 44, 32, 83, 105, 110, 103, 108, 101, 95, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 32, 61, 32, 49, 44, 32, 83, 112, 97, 114, 115, 101, 95, 77, 117, 108, 116, 105, 95, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 32, 61, 32, 50, 44, 32, 85, 110, 105, 116, 97, 114, 121, 95, 67, 111, 117, 112, 108, 101, 100, 95, 67, 108, 117, 115, 116, 101, 114, 32, 61, 32, 51, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 115, 116, 97, 116, 101, 84, 121, 112, 101, 32, 61, 61, 32, 50, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 73, 115, 69, 109, 112, 116, 121, 40, 116, 101, 114, 109, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 68, 111, 32, 110, 111, 116, 104, 105, 110, 103, 44, 32, 97, 115, 32, 116, 104, 101, 114, 101, 32, 97, 114, 101, 32, 110, 111, 32, 116, 101, 114, 109, 115, 32, 116, 111, 32, 112, 114, 101, 112, 97, 114, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 105, 102, 32, 76, 101, 110, 103, 116, 104, 40, 116, 101, 114, 109, 115, 41, 32, 61, 61, 32, 49, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 40, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 44, 32, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 41, 32, 61, 32, 116, 101, 114, 109, 115, 91, 48, 93, 33, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 114, 101, 112, 97, 114, 101, 83, 105, 110, 103, 108, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 83, 105, 110, 103, 108, 101, 83, 105, 116, 101, 79, 99, 99, 117, 112, 97, 116, 105, 111, 110, 40, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 44, 32, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 114, 101, 112, 97, 114, 101, 83, 112, 97, 114, 115, 101, 77, 117, 108, 116, 105, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 40, 78, 111, 79, 112, 44, 32, 116, 101, 114, 109, 115, 44, 32, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 105, 102, 32, 115, 116, 97, 116, 101, 84, 121, 112, 101, 32, 61, 61, 32, 51, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 84, 101, 114, 109, 115, 32, 61, 32, 76, 101, 110, 103, 116, 104, 40, 116, 101, 114, 109, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 116, 114, 111, 116, 116, 101, 114, 83, 116, 101, 112, 83, 105, 122, 101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 84, 104, 101, 32, 108, 97, 115, 116, 32, 116, 101, 114, 109, 32, 105, 115, 32, 116, 104, 101, 32, 114, 101, 102, 101, 114, 101, 110, 99, 101, 32, 115, 116, 97, 116, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 114, 101, 102, 101, 114, 101, 110, 99, 101, 83, 116, 97, 116, 101, 32, 61, 32, 80, 114, 101, 112, 97, 114, 101, 84, 114, 105, 97, 108, 83, 116, 97, 116, 101, 40, 40, 50, 44, 32, 91, 116, 101, 114, 109, 115, 91, 110, 84, 101, 114, 109, 115, 32, 45, 32, 49, 93, 93, 41, 44, 32, 95, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 114, 101, 112, 97, 114, 101, 85, 110, 105, 116, 97, 114, 121, 67, 111, 117, 112, 108, 101, 100, 67, 108, 117, 115, 116, 101, 114, 83, 116, 97, 116, 101, 40, 114, 101, 102, 101, 114, 101, 110, 99, 101, 83, 116, 97, 116, 101, 44, 32, 116, 101, 114, 109, 115, 91, 46, 46, 46, 110, 84, 101, 114, 109, 115, 32, 45, 32, 50, 93, 44, 32, 116, 114, 111, 116, 116, 101, 114, 83, 116, 101, 112, 83, 105, 122, 101, 44, 32, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 117, 98, 105, 116, 115, 32, 111, 102, 32, 72, 97, 109, 105, 108, 116, 111, 110, 105, 97, 110, 46, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 80, 114, 101, 112, 97, 114, 101, 83, 105, 110, 103, 108, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 83, 105, 110, 103, 108, 101, 83, 105, 116, 101, 79, 99, 99, 117, 112, 97, 116, 105, 111, 110, 32, 40, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 32, 58, 32, 73, 110, 116, 91, 93, 44, 32, 113, 117, 98, 105, 116, 115, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 10, 32, 32, 32, 32, 58, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 32, 43, 32, 67, 116, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 65, 112, 112, 108, 121, 84, 111, 69, 97, 99, 104, 67, 65, 40, 88, 44, 32, 83, 117, 98, 97, 114, 114, 97, 121, 40, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 44, 32, 113, 117, 98, 105, 116, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 105, 110, 116, 101, 114, 110, 97, 108, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 95, 80, 114, 101, 112, 97, 114, 101, 83, 105, 110, 103, 108, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 83, 105, 110, 103, 108, 101, 83, 105, 116, 101, 79, 99, 99, 117, 112, 97, 116, 105, 111, 110, 40, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 32, 58, 32, 73, 110, 116, 91, 93, 41, 32, 58, 32, 40, 81, 117, 98, 105, 116, 91, 93, 32, 61, 62, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 32, 43, 32, 67, 116, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 80, 114, 101, 112, 97, 114, 101, 83, 105, 110, 103, 108, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 83, 105, 110, 103, 108, 101, 83, 105, 116, 101, 79, 99, 99, 117, 112, 97, 116, 105, 111, 110, 40, 113, 117, 98, 105, 116, 73, 110, 100, 105, 99, 101, 115, 44, 32, 95, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 32, 83, 117, 109, 109, 97, 114, 121, 10, 32, 32, 32, 32, 47, 47, 47, 32, 83, 112, 97, 114, 115, 101, 32, 109, 117, 108, 116, 105, 45, 99, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 32, 115, 116, 97, 116, 101, 32, 112, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 111, 102, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 32, 98, 121, 32, 97, 100, 100, 105, 110, 103, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 10, 32, 32, 32, 32, 47, 47, 47, 32, 116, 111, 32, 105, 110, 105, 116, 105, 97, 108, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 46, 10, 32, 32, 32, 32, 47, 47, 47, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 32, 73, 110, 112, 117, 116, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 35, 32, 105, 110, 105, 116, 105, 97, 108, 83, 116, 97, 116, 101, 80, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 47, 47, 47, 32, 85, 110, 105, 116, 97, 114, 121, 32, 116, 111, 32, 112, 114, 101, 112, 97, 114, 101, 32, 105, 110, 105, 116, 105, 97, 108, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 46, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 35, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 10, 32, 32, 32, 32, 47, 47, 47, 32, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 32, 111, 102, 32, 105, 110, 105, 116, 105, 97, 108, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 101, 100, 32, 98, 121, 10, 32, 32, 32, 32, 47, 47, 47, 32, 116, 104, 101, 32, 97, 109, 112, 108, 105, 116, 117, 100, 101, 32, 111, 102, 32, 116, 104, 101, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 32, 97, 110, 100, 32, 116, 104, 101, 32, 113, 117, 98, 105, 116, 32, 105, 110, 100, 105, 99, 101, 115, 10, 32, 32, 32, 32, 47, 47, 47, 32, 116, 104, 101, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 32, 97, 99, 116, 115, 32, 111, 110, 46, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 35, 32, 113, 117, 98, 105, 116, 115, 10, 32, 32, 32, 32, 47, 47, 47, 32, 81, 117, 98, 105, 116, 115, 32, 111, 102, 32, 72, 97, 109, 105, 108, 116, 111, 110, 105, 97, 110, 46, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 80, 114, 101, 112, 97, 114, 101, 83, 112, 97, 114, 115, 101, 77, 117, 108, 116, 105, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 83, 116, 97, 116, 101, 80, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 58, 32, 40, 81, 117, 98, 105, 116, 91, 93, 32, 61, 62, 32, 85, 110, 105, 116, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 32, 58, 32, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 73, 110, 112, 117, 116, 83, 116, 97, 116, 101, 91, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 113, 117, 98, 105, 116, 115, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 10, 32, 32, 32, 32, 41, 10, 32, 32, 32, 32, 58, 32, 85, 110, 105, 116, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 32, 61, 32, 76, 101, 110, 103, 116, 104, 40, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 70, 73, 88, 77, 69, 32, 99, 111, 109, 112, 105, 108, 101, 32, 101, 114, 114, 111, 114, 32, 108, 101, 116, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 83, 113, 114, 116, 65, 98, 115, 32, 61, 32, 77, 97, 112, 112, 101, 100, 40, 67, 111, 109, 112, 111, 115, 101, 40, 67, 111, 109, 112, 111, 115, 101, 40, 83, 113, 114, 116, 44, 32, 70, 115, 116, 41, 44, 70, 115, 116, 41, 44, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 83, 113, 114, 116, 65, 98, 115, 32, 61, 32, 91, 48, 46, 48, 44, 32, 115, 105, 122, 101, 32, 61, 32, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 78, 101, 119, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 32, 61, 32, 91, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 40, 48, 46, 48, 44, 32, 48, 46, 48, 41, 44, 32, 115, 105, 122, 101, 32, 61, 32, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 97, 112, 112, 108, 121, 70, 108, 105, 112, 115, 32, 61, 32, 91, 91, 93, 44, 32, 115, 105, 122, 101, 32, 61, 32, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 105, 100, 120, 32, 105, 110, 32, 48, 32, 46, 46, 32, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 32, 45, 32, 49, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 40, 120, 44, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 41, 32, 61, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 91, 105, 100, 120, 93, 33, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 83, 113, 114, 116, 65, 98, 115, 32, 119, 47, 61, 32, 105, 100, 120, 32, 60, 45, 32, 83, 113, 114, 116, 40, 65, 98, 115, 67, 111, 109, 112, 1, 0, 0, 0, 0, 0, 0, 0, 108, 101, 120, 80, 111, 108, 97, 114, 40, 67, 111, 109, 112, 108, 101, 120, 65, 115, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 40, 67, 111, 109, 112, 108, 101, 120, 40, 120, 41, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 32, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 78, 101, 119, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 32, 119, 47, 61, 32, 105, 100, 120, 32, 60, 45, 32, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 40, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 83, 113, 114, 116, 65, 98, 115, 91, 105, 100, 120, 93, 44, 32, 65, 114, 103, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 40, 67, 111, 109, 112, 108, 101, 120, 65, 115, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 40, 67, 111, 109, 112, 108, 101, 120, 40, 120, 41, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 32, 97, 112, 112, 108, 121, 70, 108, 105, 112, 115, 32, 119, 47, 61, 32, 105, 100, 120, 32, 60, 45, 32, 101, 120, 99, 105, 116, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 66, 105, 116, 115, 73, 110, 100, 105, 99, 101, 115, 32, 61, 32, 67, 101, 105, 108, 105, 110, 103, 40, 76, 103, 40, 73, 110, 116, 65, 115, 68, 111, 117, 98, 108, 101, 40, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 41, 41, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 112, 101, 97, 116, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 115, 117, 99, 99, 101, 115, 115, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 32, 97, 117, 120, 105, 108, 108, 97, 114, 121, 32, 61, 32, 81, 117, 98, 105, 116, 91, 110, 66, 105, 116, 115, 73, 110, 100, 105, 99, 101, 115, 32, 43, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 32, 102, 108, 97, 103, 32, 61, 32, 81, 117, 98, 105, 116, 40, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 109, 117, 108, 116, 105, 112, 108, 101, 120, 101, 114, 32, 61, 32, 77, 117, 108, 116, 105, 112, 108, 101, 120, 101, 114, 66, 114, 117, 116, 101, 70, 111, 114, 99, 101, 70, 114, 111, 109, 71, 101, 110, 101, 114, 97, 116, 111, 114, 40, 110, 69, 120, 99, 105, 116, 97, 116, 105, 111, 110, 115, 44, 32, 76, 111, 111, 107, 117, 112, 70, 117, 110, 99, 116, 105, 111, 110, 40, 77, 97, 112, 112, 101, 100, 40, 95, 80, 114, 101, 112, 97, 114, 101, 83, 105, 110, 103, 108, 101, 67, 111, 110, 102, 105, 103, 117, 114, 97, 116, 105, 111, 110, 97, 108, 83, 116, 97, 116, 101, 83, 105, 110, 103, 108, 101, 83, 105, 116, 101, 79, 99, 99, 117, 112, 97, 116, 105, 111, 110, 44, 32, 97, 112, 112, 108, 121, 70, 108, 105, 112, 115, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 114, 101, 112, 97, 114, 101, 65, 114, 98, 105, 116, 114, 97, 114, 121, 83, 116, 97, 116, 101, 67, 80, 40, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 78, 101, 119, 67, 111, 109, 112, 108, 101, 120, 80, 111, 108, 97, 114, 44, 32, 76, 105, 116, 116, 108, 101, 69, 110, 100, 105, 97, 110, 40, 97, 117, 120, 105, 108, 108, 97, 114, 121, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 108, 116, 105, 112, 108, 101, 120, 101, 114, 40, 76, 105, 116, 116, 108, 101, 69, 110, 100, 105, 97, 110, 40, 97, 117, 120, 105, 108, 108, 97, 114, 121, 41, 44, 32, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 100, 106, 111, 105, 110, 116, 32, 80, 114, 101, 112, 97, 114, 101, 65, 114, 98, 105, 116, 114, 97, 114, 121, 83, 116, 97, 116, 101, 68, 40, 99, 111, 101, 102, 102, 105, 99, 105, 101, 110, 116, 115, 83, 113, 114, 116, 65, 98, 115, 44, 32, 76, 105, 116, 116, 108, 101, 69, 110, 100, 105, 97, 110, 40, 97, 117, 120, 105, 108, 108, 97, 114, 121, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 111, 110, 116, 114, 111, 108, 108, 101, 100, 79, 110, 73, 110, 116, 40, 48, 44, 32, 88, 41, 40, 97, 117, 120, 105, 108, 108, 97, 114, 121, 44, 32, 102, 108, 97, 103, 41, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 105, 102, 32, 109, 101, 97, 115, 117, 114, 101, 109, 101, 110, 116, 32, 111, 117, 116, 99, 111, 109, 101, 32, 111, 110, 101, 32, 119, 101, 32, 112, 114, 101, 112, 97, 114, 101, 100, 32, 114, 101, 113, 117, 105, 114, 101, 100, 32, 115, 116, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 111, 117, 116, 99, 111, 109, 101, 32, 61, 32, 77, 40, 102, 108, 97, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 32, 115, 117, 99, 99, 101, 115, 115, 32, 61, 32, 111, 117, 116, 99, 111, 109, 101, 32, 61, 61, 32, 79, 110, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 115, 101, 116, 65, 108, 108, 40, 97, 117, 120, 105, 108, 108, 97, 114, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 115, 101, 116, 40, 102, 108, 97, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 110, 116, 105, 108, 32, 115, 117, 99, 99, 101, 115, 115, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 120, 117, 112, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 115, 101, 116, 65, 108, 108, 40, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 32, 83, 117, 109, 109, 97, 114, 121, 10, 32, 32, 32, 32, 47, 47, 47, 32, 85, 110, 105, 116, 97, 114, 121, 32, 99, 111, 117, 112, 108, 101, 100, 45, 99, 108, 117, 115, 116, 101, 114, 32, 115, 116, 97, 116, 101, 32, 112, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 111, 102, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 10, 32, 32, 32, 32, 47, 47, 47, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 32, 73, 110, 112, 117, 116, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 35, 32, 105, 110, 105, 116, 105, 97, 108, 83, 116, 97, 116, 101, 80, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 47, 47, 47, 32, 85, 110, 105, 116, 97, 114, 121, 32, 116, 111, 32, 112, 114, 101, 112, 97, 114, 101, 32, 105, 110, 105, 116, 105, 97, 108, 32, 116, 114, 105, 97, 108, 32, 115, 116, 97, 116, 101, 46, 10, 32, 32, 32, 32, 47, 47, 47, 32, 35, 35, 32, 113, 117, 98, 105, 116, 115, 10, 32, 32, 32, 32, 47, 47, 47, 32, 81, 117, 98, 105, 116, 115, 32, 111, 102, 32, 72, 97, 109, 105, 108, 116, 111, 110, 105, 97, 110, 46, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 80, 114, 101, 112, 97, 114, 101, 85, 110, 105, 116, 97, 114, 121, 67, 111, 117, 112, 108, 101, 100, 67, 108, 117, 115, 116, 101, 114, 83, 116, 97, 116, 101, 32, 40, 105, 110, 105, 116, 105, 97, 108, 83, 116, 97, 116, 101, 80, 114, 101, 112, 97, 114, 97, 116, 105, 111, 110, 32, 58, 32, 40, 81, 117, 98, 105, 116, 91, 93, 32, 61, 62, 32, 85, 110, 105, 116, 41, 44, 32, 99, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 32, 58, 32, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 73, 110, 112, 117, 116, 83, 116, 97, 116, 101, 91, 93, 44, 32, 116, 114, 111, 116, 116, 101, 114, 83, 116, 101, 112, 83, 105, 122, 101, 32, 58, 32, 68, 111, 117, 98, 108, 101, 44, 32, 113, 117, 98, 105, 116, 115, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 32, 58, 32, 85, 110, 105, 116, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 71, 101, 110, 101, 114, 97, 116, 111, 114, 83, 121, 115, 116, 101, 109, 32, 61, 32, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 67, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 71, 101, 110, 101, 114, 97, 116, 111, 114, 83, 121, 115, 116, 101, 109, 40, 99, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 101, 118, 111, 108, 117, 116, 105, 111, 110, 71, 101, 110, 101, 114, 97, 116, 111, 114, 32, 61, 32, 69, 118, 111, 108, 117, 116, 105, 111, 110, 71, 101, 110, 101, 114, 97, 116, 111, 114, 40, 74, 111, 114, 100, 97, 110, 87, 105, 103, 110, 101, 114, 67, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 69, 118, 111, 108, 117, 116, 105, 111, 110, 83, 101, 116, 40, 41, 44, 32, 99, 108, 117, 115, 116, 101, 114, 79, 112, 101, 114, 97, 116, 111, 114, 71, 101, 110, 101, 114, 97, 116, 111, 114, 83, 121, 115, 116, 101, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 116, 114, 111, 116, 116, 101, 114, 79, 114, 100, 101, 114, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 32, 61, 32, 40, 84, 114, 111, 116, 116, 101, 114, 83, 105, 109, 117, 108, 97, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 40, 116, 114, 111, 116, 116, 101, 114, 83, 116, 101, 112, 83, 105, 122, 101, 44, 32, 116, 114, 111, 116, 116, 101, 114, 79, 114, 100, 101, 114, 41, 41, 33, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 47, 47, 32, 67, 111, 112, 121, 114, 105, 103, 104, 116, 32, 40, 99, 41, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 32, 67, 111, 114, 112, 111, 114, 97, 116, 105, 111, 110, 46, 32, 65, 108, 108, 32, 114, 105, 103, 104, 116, 115, 32, 114, 101, 115, 101, 114, 118, 101, 100, 46, 10, 47, 47, 32, 76, 105, 99, 101, 110, 115, 101, 100, 32, 117, 110, 100, 101, 114, 32, 116, 104, 101, 32, 77, 73, 84, 32, 108, 105, 99, 101, 110, 115, 101, 46, 10, 10, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 47, 47, 32, 84, 104, 105, 115, 32, 102, 105, 108, 101, 32, 99, 111, 110, 116, 97, 105, 110, 115, 32, 114, 101, 102, 101, 114, 101, 110, 99, 101, 32, 115, 111, 108, 117, 116, 105, 111, 110, 115, 32, 116, 111, 32, 97, 108, 108, 32, 116, 97, 115, 107, 115, 46, 10, 47, 47, 32, 84, 104, 101, 32, 116, 97, 115, 107, 115, 32, 116, 104, 101, 109, 115, 101, 108, 118, 101, 115, 32, 99, 97, 110, 32, 98, 101, 32, 102, 111, 117, 110, 100, 32, 105, 110, 32, 84, 97, 115, 107, 115, 46, 113, 115, 32, 102, 105, 108, 101, 46, 10, 47, 47, 32, 87, 101, 32, 114, 101, 99, 111, 109, 109, 101, 110, 100, 32, 116, 104, 97, 116, 32, 121, 111, 117, 32, 116, 114, 121, 32, 116, 111, 32, 115, 111, 108, 118, 101, 32, 116, 104, 101, 32, 116, 97, 115, 107, 115, 32, 121, 111, 117, 114, 115, 101, 108, 102, 32, 102, 105, 114, 115, 116, 44, 10, 47, 47, 32, 98, 117, 116, 32, 102, 101, 101, 108, 32, 102, 114, 101, 101, 32, 116, 111, 32, 108, 111, 111, 107, 32, 117, 112, 32, 116, 104, 101, 32, 115, 111, 108, 117, 116, 105, 111, 110, 32, 105, 102, 32, 121, 111, 117, 32, 103, 101, 116, 32, 115, 116, 117, 99, 107, 46, 10, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 10, 110, 97, 109, 101, 115, 112, 97, 99, 101, 32, 81, 117, 97, 110, 116, 117, 109, 46, 75, 97, 116, 97, 46, 71, 114, 97, 112, 104, 67, 111, 108, 111, 114, 105, 110, 103, 32, 123, 10, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 65, 114, 114, 97, 121, 115, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 67, 111, 110, 118, 101, 114, 116, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 77, 97, 116, 104, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 77, 101, 97, 115, 117, 114, 101, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 73, 110, 116, 114, 105, 110, 115, 105, 99, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 67, 97, 110, 111, 110, 59, 10, 32, 32, 32, 32, 111, 112, 101, 110, 32, 77, 105, 99, 114, 111, 115, 111, 102, 116, 46, 81, 117, 97, 110, 116, 117, 109, 46, 68, 105, 97, 103, 110, 111, 115, 116, 105, 99, 115, 59, 10, 10, 10, 32, 32, 32, 32, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 32, 32, 32, 32, 47, 47, 32, 80, 97, 114, 116, 32, 73, 46, 32, 67, 111, 108, 111, 114, 115, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 97, 116, 105, 111, 110, 32, 97, 110, 100, 32, 109, 97, 110, 105, 112, 117, 108, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 49, 46, 49, 46, 32, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 116, 111, 32, 97, 32, 99, 111, 108, 111, 114, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 67, 111, 108, 111, 114, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 67, 32, 58, 32, 73, 110, 116, 44, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 32, 58, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 78, 32, 61, 32, 76, 101, 110, 103, 116, 104, 40, 114, 101, 103, 105, 115, 116, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 111, 110, 118, 101, 114, 116, 32, 67, 32, 116, 111, 32, 97, 110, 32, 97, 114, 114, 97, 121, 32, 111, 102, 32, 98, 105, 116, 115, 32, 105, 110, 32, 108, 105, 116, 116, 108, 101, 32, 101, 110, 100, 105, 97, 110, 32, 102, 111, 114, 109, 97, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 98, 105, 110, 97, 114, 121, 67, 32, 61, 32, 73, 110, 116, 65, 115, 66, 111, 111, 108, 65, 114, 114, 97, 121, 40, 67, 44, 32, 78, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 86, 97, 108, 117, 101, 32, 34, 116, 114, 117, 101, 34, 32, 99, 111, 114, 114, 101, 115, 112, 111, 110, 100, 115, 32, 116, 111, 32, 98, 105, 116, 32, 49, 32, 97, 110, 100, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 112, 112, 108, 121, 105, 110, 103, 32, 97, 110, 32, 88, 32, 103, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 65, 112, 112, 108, 121, 80, 97, 117, 108, 105, 70, 114, 111, 109, 66, 105, 116, 83, 116, 114, 105, 110, 103, 40, 80, 97, 117, 108, 105, 88, 44, 32, 116, 114, 117, 101, 44, 32, 98, 105, 110, 97, 114, 121, 67, 44, 32, 114, 101, 103, 105, 115, 116, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 49, 46, 50, 46, 32, 82, 101, 97, 100, 32, 99, 111, 108, 111, 114, 32, 102, 114, 111, 109, 32, 97, 32, 114, 101, 103, 105, 115, 116, 101, 114, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 77, 101, 97, 115, 117, 114, 101, 67, 111, 108, 111, 114, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 114, 101, 103, 105, 115, 116, 101, 114, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 32, 58, 32, 73, 110, 116, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 82, 101, 115, 117, 108, 116, 65, 114, 114, 97, 121, 65, 115, 73, 110, 116, 40, 77, 117, 108, 116, 105, 77, 40, 114, 101, 103, 105, 115, 116, 101, 114, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 49, 46, 51, 46, 32, 82, 101, 97, 100, 32, 99, 111, 108, 111, 114, 105, 110, 103, 32, 102, 114, 111, 109, 32, 97, 32, 114, 101, 103, 105, 115, 116, 101, 114, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 77, 101, 97, 115, 117, 114, 101, 67, 111, 108, 111, 114, 105, 110, 103, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 75, 32, 58, 32, 73, 110, 116, 44, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 41, 32, 58, 32, 73, 110, 116, 91, 93, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 78, 32, 61, 32, 76, 101, 110, 103, 116, 104, 40, 114, 101, 103, 105, 115, 116, 101, 114, 41, 32, 47, 32, 75, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 99, 111, 108, 111, 114, 80, 97, 114, 116, 105, 116, 105, 111, 110, 115, 32, 61, 32, 67, 104, 117, 110, 107, 115, 40, 78, 44, 32, 114, 101, 103, 105, 115, 116, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 70, 111, 114, 69, 97, 99, 104, 40, 77, 101, 97, 115, 117, 114, 101, 67, 111, 108, 111, 114, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 44, 32, 99, 111, 108, 111, 114, 80, 97, 114, 116, 105, 116, 105, 111, 110, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 49, 46, 52, 46, 32, 50, 45, 98, 105, 116, 32, 99, 111, 108, 111, 114, 32, 101, 113, 117, 97, 108, 105, 116, 121, 32, 111, 114, 97, 99, 108, 101, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 67, 111, 108, 111, 114, 69, 113, 117, 97, 108, 105, 116, 121, 79, 114, 97, 99, 108, 101, 95, 50, 98, 105, 116, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 99, 48, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 44, 32, 99, 49, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 44, 32, 116, 97, 114, 103, 101, 116, 32, 58, 32, 81, 117, 98, 105, 116, 41, 32, 58, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 43, 67, 116, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 83, 109, 97, 108, 108, 32, 99, 97, 115, 101, 32, 115, 111, 108, 117, 116, 105, 111, 110, 32, 119, 105, 116, 104, 32, 110, 111, 32, 101, 120, 116, 114, 97, 32, 113, 117, 98, 105, 116, 115, 32, 97, 108, 108, 111, 99, 97, 116, 101, 100, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 105, 116, 101, 114, 97, 116, 101, 32, 111, 118, 101, 114, 32, 97, 108, 108, 32, 98, 105, 116, 32, 115, 116, 114, 105, 110, 103, 115, 32, 111, 102, 32, 108, 101, 110, 103, 116, 104, 32, 50, 44, 32, 97, 110, 100, 32, 100, 111, 32, 97, 32, 99, 111, 110, 116, 114, 111, 108, 108, 101, 100, 32, 88, 32, 111, 110, 32, 116, 104, 101, 32, 116, 97, 114, 103, 101, 116, 32, 113, 117, 98, 105, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 119, 105, 116, 104, 32, 99, 111, 110, 116, 114, 111, 108, 32, 113, 117, 98, 105, 116, 115, 32, 99, 48, 32, 97, 110, 100, 32, 99, 49, 32, 105, 110, 32, 115, 116, 97, 116, 101, 115, 32, 100, 101, 115, 99, 114, 105, 98, 101, 100, 32, 98, 121, 32, 101, 97, 99, 104, 32, 111, 102, 32, 116, 104, 101, 115, 101, 32, 98, 105, 116, 32, 115, 116, 114, 105, 110, 103, 115, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 70, 111, 114, 32, 97, 32, 98, 101, 116, 116, 101, 114, 32, 115, 111, 108, 117, 116, 105, 111, 110, 44, 32, 115, 101, 101, 32, 116, 97, 115, 107, 32, 49, 46, 53, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 99, 111, 108, 111, 114, 32, 105, 110, 32, 48, 46, 46, 51, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 98, 105, 110, 97, 114, 121, 67, 111, 108, 111, 114, 32, 61, 32, 73, 110, 116, 65, 115, 66, 111, 111, 108, 65, 114, 114, 97, 121, 40, 99, 111, 108, 111, 114, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 67, 111, 110, 116, 114, 111, 108, 108, 101, 100, 79, 110, 66, 105, 116, 83, 116, 114, 105, 110, 103, 40, 98, 105, 110, 97, 114, 121, 67, 111, 108, 111, 114, 32, 43, 32, 98, 105, 110, 97, 114, 121, 67, 111, 108, 111, 114, 44, 32, 88, 41, 41, 40, 99, 48, 32, 43, 32, 99, 49, 44, 32, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 49, 46, 53, 46, 32, 78, 45, 98, 105, 116, 32, 99, 111, 108, 111, 114, 32, 101, 113, 117, 97, 108, 105, 116, 121, 32, 111, 114, 97, 99, 108, 101, 32, 40, 110, 111, 32, 101, 120, 116, 114, 97, 32, 113, 117, 98, 105, 116, 115, 41, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 67, 111, 108, 111, 114, 69, 113, 117, 97, 108, 105, 116, 121, 79, 114, 97, 99, 108, 101, 95, 78, 98, 105, 116, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 99, 48, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 44, 32, 99, 49, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 44, 32, 116, 97, 114, 103, 101, 116, 32, 58, 32, 81, 117, 98, 105, 116, 41, 32, 58, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 43, 67, 116, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 116, 104, 105, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 113, 48, 44, 32, 113, 49, 41, 32, 105, 110, 32, 90, 105, 112, 112, 101, 100, 40, 99, 48, 44, 32, 99, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 99, 111, 109, 112, 117, 116, 101, 32, 88, 79, 82, 32, 111, 102, 32, 113, 48, 32, 97, 110, 100, 32, 113, 49, 32, 105, 110, 32, 112, 108, 97, 99, 101, 32, 40, 115, 116, 111, 114, 105, 110, 103, 32, 105, 116, 32, 105, 110, 32, 113, 49, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 78, 79, 84, 40, 113, 48, 44, 32, 113, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 97, 112, 112, 108, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 105, 102, 32, 97, 108, 108, 32, 88, 79, 82, 115, 32, 97, 114, 101, 32, 48, 44, 32, 116, 104, 101, 32, 98, 105, 116, 32, 115, 116, 114, 105, 110, 103, 115, 32, 97, 114, 101, 32, 101, 113, 117, 97, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 67, 111, 110, 116, 114, 111, 108, 108, 101, 100, 79, 110, 73, 110, 116, 40, 48, 44, 32, 88, 41, 41, 40, 99, 49, 44, 32, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 10, 10, 32, 32, 32, 32, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 32, 32, 32, 32, 47, 47, 32, 80, 97, 114, 116, 32, 73, 73, 46, 32, 86, 101, 114, 116, 101, 120, 32, 99, 111, 108, 111, 114, 105, 110, 103, 32, 112, 114, 111, 98, 108, 101, 109, 10, 32, 32, 32, 32, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 50, 46, 49, 46, 32, 67, 108, 97, 115, 115, 105, 99, 97, 108, 32, 118, 101, 114, 105, 102, 105, 99, 97, 116, 105, 111, 110, 32, 111, 102, 32, 118, 101, 114, 116, 101, 120, 32, 99, 111, 108, 111, 114, 105, 110, 103, 10, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 73, 115, 86, 101, 114, 116, 101, 120, 67, 111, 108, 111, 114, 105, 110, 103, 86, 97, 108, 105, 100, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 86, 32, 58, 32, 73, 110, 116, 44, 32, 101, 100, 103, 101, 115, 58, 32, 40, 73, 110, 116, 44, 32, 73, 110, 116, 41, 91, 93, 44, 32, 99, 111, 108, 111, 114, 115, 58, 32, 73, 110, 116, 91, 93, 41, 32, 58, 32, 66, 111, 111, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 32, 105, 110, 32, 101, 100, 103, 101, 115, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 99, 111, 108, 111, 114, 115, 91, 115, 116, 97, 114, 116, 93, 32, 61, 61, 32, 99, 111, 108, 111, 114, 115, 91, 101, 110, 100, 93, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 50, 46, 50, 46, 32, 79, 114, 97, 99, 108, 101, 32, 102, 111, 114, 32, 118, 101, 114, 105, 102, 121, 105, 110, 103, 32, 118, 101, 114, 116, 101, 120, 32, 99, 111, 108, 111, 114, 105, 110, 103, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 86, 101, 114, 116, 101, 120, 67, 111, 108, 111, 114, 105, 110, 103, 79, 114, 97, 99, 108, 101, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 86, 32, 58, 32, 73, 110, 116, 44, 32, 101, 100, 103, 101, 115, 32, 58, 32, 40, 73, 110, 116, 44, 32, 73, 110, 116, 41, 91, 93, 44, 32, 99, 111, 108, 111, 114, 115, 82, 101, 103, 105, 115, 116, 101, 114, 32, 58, 32, 81, 117, 98, 105, 116, 91, 93, 44, 32, 116, 97, 114, 103, 101, 116, 32, 58, 32, 81, 117, 98, 105, 116, 41, 32, 58, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 43, 67, 116, 108, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 110, 69, 100, 103, 101, 115, 32, 61, 32, 76, 101, 110, 103, 116, 104, 40, 101, 100, 103, 101, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 32, 99, 111, 110, 102, 108, 105, 99, 116, 81, 117, 98, 105, 116, 115, 32, 61, 32, 81, 117, 98, 105, 116, 91, 110, 69, 100, 103, 101, 115, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 116, 104, 105, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 40, 115, 116, 97, 114, 116, 44, 32, 101, 110, 100, 41, 44, 32, 99, 111, 110, 102, 108, 105, 99, 116, 81, 117, 98, 105, 116, 41, 32, 105, 110, 32, 90, 105, 112, 112, 101, 100, 40, 101, 100, 103, 101, 115, 44, 32, 99, 111, 110, 102, 108, 105, 99, 116, 81, 117, 98, 105, 116, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 67, 104, 101, 99, 107, 32, 116, 104, 97, 116, 32, 101, 110, 100, 112, 111, 105, 110, 116, 115, 32, 111, 102, 32, 116, 104, 101, 32, 101, 100, 103, 101, 32, 104, 97, 118, 101, 32, 100, 105, 102, 102, 101, 114, 101, 110, 116, 32, 99, 111, 108, 111, 114, 115, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 97, 112, 112, 108, 121, 32, 67, 111, 108, 111, 114, 69, 113, 117, 97, 108, 105, 116, 121, 79, 114, 97, 99, 108, 101, 95, 78, 98, 105, 116, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 111, 114, 97, 99, 108, 101, 59, 32, 105, 102, 32, 116, 104, 101, 32, 99, 111, 108, 111, 114, 115, 32, 97, 114, 101, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 116, 104, 101, 32, 114, 101, 115, 117, 108, 116, 32, 119, 105, 108, 108, 32, 98, 101, 32, 49, 44, 32, 105, 110, 100, 105, 99, 97, 116, 105, 110, 103, 32, 97, 32, 99, 111, 110, 102, 108, 105, 99, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 111, 108, 111, 114, 69, 113, 117, 97, 108, 105, 116, 121, 79, 114, 97, 99, 108, 101, 95, 78, 98, 105, 116, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 40, 99, 111, 108, 111, 114, 115, 82, 101, 103, 105, 115, 116, 101, 114, 91, 115, 116, 97, 114, 116, 32, 42, 32, 50, 32, 46, 46, 32, 115, 116, 97, 114, 116, 32, 42, 32, 50, 32, 43, 32, 49, 93, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 108, 111, 114, 115, 82, 101, 103, 105, 115, 116, 101, 114, 91, 101, 110, 100, 32, 42, 32, 50, 32, 46, 46, 32, 101, 110, 100, 32, 42, 32, 50, 32, 43, 32, 49, 93, 44, 32, 99, 111, 110, 102, 108, 105, 99, 116, 81, 117, 98, 105, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 97, 112, 112, 108, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 73, 102, 32, 116, 104, 101, 114, 101, 32, 97, 114, 101, 32, 110, 111, 32, 99, 111, 110, 102, 108, 105, 99, 116, 115, 32, 40, 97, 108, 108, 32, 113, 117, 98, 105, 116, 115, 32, 97, 114, 101, 32, 105, 110, 32, 48, 32, 115, 116, 97, 116, 101, 41, 44, 32, 116, 104, 101, 32, 118, 101, 114, 116, 101, 120, 32, 99, 111, 108, 111, 114, 105, 110, 103, 32, 105, 115, 32, 118, 97, 108, 105, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 67, 111, 110, 116, 114, 111, 108, 108, 101, 100, 79, 110, 73, 110, 116, 40, 48, 44, 32, 88, 41, 41, 40, 99, 111, 110, 102, 108, 105, 99, 116, 81, 117, 98, 105, 116, 115, 44, 32, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 10, 32, 32, 32, 32, 47, 47, 32, 84, 97, 115, 107, 32, 50, 46, 51, 46, 32, 85, 115, 105, 110, 103, 32, 71, 114, 111, 118, 101, 114, 39, 115, 32, 115, 101, 97, 114, 99, 104, 32, 116, 111, 32, 102, 105, 110, 100, 32, 118, 101, 114, 116, 101, 120, 32, 99, 111, 108, 111, 114, 105, 110, 103, 10, 32, 32, 32, 32, 111, 112, 101, 114, 97, 116, 105, 111, 110, 32, 71, 114, 111, 118, 101, 114, 115, 65, 108, 103, 111, 114, 105, 116, 104, 109, 95, 82, 101, 102, 101, 114, 101, 110, 99, 101, 32, 40, 86, 32, 58, 32, 73, 110, 116, 44, 32, 111, 114, 97, 99, 108, 101, 32, 58, 32, 40, 40, 81, 117, 98, 105, 116, 91, 93, 44, 32, 81, 117, 98, 105, 116, 41, 32, 61, 62, 32, 85, 110, 105, 116, 32, 105, 115, 32, 65, 100, 106, 41, 41, 32, 58, 32, 73, 110, 116, 91, 93, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 97, 99, 108, 101, 32, 61, 32, 115, 105, 109, 117, 108, 97, 116, 105, 111, 110, 65, 108, 103, 111, 114, 105, 116, 104, 109, 40, 49, 46, 48, 44, 32, 101, 118, 111, 108, 117, 116, 105, 111, 110, 71, 101, 110, 101, 114, 97, 116, 111, 114, 44, 32, 95, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 105, 116, 105, 97, 108, 83, 116, 97, 116, 101, 80, 114, 101, 112, 97, 114, 97, 47, 47, 32, 84, 104, 105, 115, 32, 116, 97, 115, 107, 32, 105, 115, 32, 115, 105, 109, 105, 108, 97, 114, 32, 116, 111, 32, 116, 97, 115, 107, 32, 50, 46, 50, 32, 102, 114, 111, 109, 32, 83, 111, 108, 118, 101, 83, 65, 84, 87, 105, 116, 104, 71, 114, 111, 118, 101, 114, 32, 107, 97, 116, 97, 44, 32, 98, 117, 116, 32, 116, 104, 101, 32, 112, 101, 114, 99, 101, 110, 116, 97, 103, 101, 32, 111, 102, 32, 99, 111, 114, 114, 101, 99, 116, 32, 115, 111, 108, 117, 116, 105, 111, 110, 115, 32, 105, 115, 32, 112, 111, 116, 101, 110, 116, 105, 97, 108, 108, 121, 32, 104, 105, 103, 104, 101, 114, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 99, 111, 108, 111, 114, 105, 110, 103, 32, 61, 32, 91, 48, 44, 32, 115, 105, 122, 101, 32, 61, 32, 86, 93, 59, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 78, 111, 116, 101, 32, 116, 104, 97, 116, 32, 99, 111, 108, 111, 114, 105, 110, 103, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 104, 97, 115, 32, 116, 104, 101, 32, 110, 117, 109, 98, 101, 116, 105, 111, 110, 40, 113, 117, 98, 105, 116, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 114, 97, 99, 108, 101, 40, 113, 117, 98, 105, 114, 32, 111, 102, 32, 113, 117, 98, 105, 116, 115, 32, 116, 104, 97, 116, 32, 105, 115, 32, 116, 119, 105, 99, 101, 32, 116, 104, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 118, 101, 114, 116, 105, 99, 101, 115, 32, 40, 50, 32, 113, 117, 98, 105, 116, 115, 32, 112, 101, 114, 32, 118, 101, 114, 116, 101, 120, 41, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 32, 40, 114, 101, 103, 105, 115, 116, 101, 114, 44, 116, 115, 41, 59, 10, 32, 32, 32, 32, 111, 117, 116, 112, 117, 116, 41, 32, 61, 32, 40, 81, 117, 98, 105, 116, 91, 50, 32, 42, 32, 86, 93, 44, 32, 81, 117, 98, 105, 116, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 32, 125, 108, 101, 32, 99, 111, 114, 114, 101, 99, 116, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 10, 125, 10, 32, 32, 32, 32, 32, 109, 117, 116, 97, 98, 108, 101, 32, 105, 116, 101, 114, 32, 61, 32]

Reproduce with:

	cargo fuzz run -O --features=do_fuzz --sanitizer=none qsharp fuzz/artifacts/qsharp/crash-fc34245dd0fcb868d327fcebe2886932983e9a54

Minimize test case with:

	cargo fuzz tmin -O --features=do_fuzz --sanitizer=none qsharp fuzz/artifacts/qsharp/crash-fc34245dd0fcb868d327fcebe2886932983e9a54

────────────────────────────────────────────────────────────────────────────────

Error: Fuzz target exited with exit status: 77

Stack backtrace:
   0: anyhow::error::<impl anyhow::Error>::msg
   1: cargo_fuzz::project::FuzzProject::exec_fuzz
   2: cargo_fuzz::main
   3: std::sys::backtrace::__rust_begin_short_backtrace
   4: std::rt::lang_start::{{closure}}
   5: std::rt::lang_start_internal
   6: main
   7: <unknown>
   8: __libc_start_main
   9: _start
The branch/commit the bug has been found in: Click. If the developers fail to repro the bug in the latest main then the branch/commit info below can help them to make sure that they are using the correct way to repro. If the bug is reproducible in the branch/commit below, but not in latest main, then the bug is likely fixed already or is not in the main branch.
Branch: * main

commit a8ded9f90f349a004ccef157681e8d64de5efa68
Author: Stefan J. Wernli <swernli@microsoft.com>
Date:   Mon May 5 14:13:58 2025 -0700

    Revert "Revert "Fix out-of-memory in typeck on nested `Ty::Arrow`" (#2359)" (#2362)
    
    Now that the release is complete, we can bring back this fix and let it
    marinate until the next release.
    
    Closes #2302

Other Info

  • Workflow (contains the run artifacts).
  • Workflow Agent System Info: ubuntu-latest: Linux fv-az2210-160 6.11.0-1012-azure #12~24.04.1-Ubuntu SMP Mon Mar 10 19:00:39 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux.
  • Bug Reporting Timestamp: 2025.05.05 21:39 UTC (UTC - 8:00 = PST. UTC - 7:00 = PDT).

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions