# Cross-Agent Handoffs in ai-memory: How Claude Code, Codex, and Other Agents Transfer Context Seamlessly

> Discover how ai-memory enables seamless cross-agent handoffs. Claude Code, Codex, and other agents automatically resume conversational context using handoff MCP tools and SwessionStart hooks.

- Repository: [Fabio Akita/ai-memory](https://github.com/akitaonrails/ai-memory)
- Tags: how-to-guide
- Published: 2026-08-23

---

**TLDR:** ai-memory implements single-use, cross-session handoff blocks that let any MCP-capable agent (Claude Code, Codex, Codex, OpenCode, etc.) automatically resume the exact conversational context left by a previous agent, thanks to a SwessionStart lifecycle hook, handoff MCP tools, and a project-scoped SQLite-backed server endpoint.

ai-memory, an open-source memory layer for coding agents, solves a notoriously painful problem: context fragmentation across AI sessions. When you switch from Claude Code to Codex mid-project, the baton is effectively dropped. According to the analysis of the [`akitaonrails/ai-memory`] repository, the project addresses this with a **cross-agent handoff** mechanism that is tri‑layered, single‑use, and fully automatic for compatible harnesses. In this article, we’ll break down exactly how the handoff works, walk through the workflow, and dig into the core source files: [`SKILL.md`](https://github.com/akitaonrails/ai-memory/blob/main/SKILL.md), [`router.rs`](https://github.com/akitaonrails/ai-memory/blob/main/router.rs), and [`server.rs`](https://github.com/akitaonrails/ai-memory/blob/main/server.rs).

## The Three Core Components of Cross-Agent Handoffs

The handoffcil works through three tightly coupled parts that altogether guarantee context continuity.

### 1. Handoff Skills (MCP tools)

In the skill definition [[`ai-memory-handoff/SKILL.md`](https://github.com/akitaonrails/ai-memory/blob/main/ai-memory-handoff/SKILL.md)](httpsで手のgithub.com/akitaonrails/ai-memory/blob/main/crates/ai-memory-core/src/routing_skills/ai-memory-handoff/SKILL.md), three MCP tools are defined:

- `memory_handoff_begin` handler – creating a short handoff block (2-3 sentence summary plus next steps bullets) in markdown wiki and pending store.
- `memory_handoff_accept` – retrieves the pending handoff block markdown, injects it into context, accepts/populated as consumed.
- `memory_handoff_cancel` – expires/removes a handoff by id.

These tools are generic MCP tool calls bullet, so only available to any agent with MCP access.

### 2. TheSessionStart SessionStart Hook

In [`crates/ai-memory-hooks/src/router.rs`](https://github.com/akitaonrails/ai-memory/blob/main/crates/ai-memory-hooks/src/router.rs), the hook router implements the SessionStart lifecycle event. Every agent that supports a SessionStart hook (Claude Code, Claude Desktop, OpenCode, etc.) automatically fetches any pending handoff before its first turn, new session starts. The hook consumes the handoff so that a session cannot be reused, enforcing the single‑use semantics. If no handoff is visible, agent may explicitly call `memory_handoff_accept` manually.

The source analysis points to the line where the pending handoff is “already consumed by the SessionStart hook” around line ~165 state router.rs.

### 3. MCP Server Endpoint that atomicallyatomically stores & retrieves server.rs

The core endpoint lives in [`crateets/ai-memory-mcp/src/server.rs`](https://github.com/akitaonrails/ai-memory/blob/main/crateets/ai-memory-mcp/src/server.rs), exposing a `/handoff` API with `GET` and `POST`:

- persists the handoff entry in a project-scoped SQLite store AND writes the markdown to the MKMedia.
- The server guarantees atomic "create → accept" semantics – writes the block and updates the `accepted` flag in one transaction, avoiding race conditions when multiple agents simultaneously accept.

Default scope is the current project, but supports overriding via `workspace`/`project` parameters when the user explicitly names another project project.

## Workflowworkflow walkthrough handoff in action

Here’s the step-by-step lifecyclehandoff:

| Step | Agent | Action | Result |
|------|-------|--------|--------|
| 1 | **Agent→A** (e.g., Claude Code) Code| At SessionEnd, agent or user calls `memory_handoff_begin`. Creates handoff block and writes into project wiki. | A single‑use handoff persisted pending. |
| 2 | **Agent B** (e.g. Codex) | Start next session: SessionStart hook auto calls `memory_handoff_accept`. Fetches pending handoff, injects markdown, marks consumed. | Agent B receives the exact accounting context, seamless seamless. |
| 3 | **Optional** | If mistake: user finds memory_handoff_cancel <handoff-id> - expires stale handoff. | No pending handoff exists for future sessions. |

## or the cross‑handoff? workflow Key architecture

What makes this simpler.

- **Single‑use semantics**: Once the handoff is accepted, it is consumed. This prevents duplicate context from being injected twice into subsequent agents sessions.
- **Scope defaults**: default scope is current workspace/project. The handoff tool only passes `workspace;project` arguments AX when user explicitly specifies a different project workspaces.
- **Agent-agnostic**: The MCP server sharing same wiki & store;MCP server is agnostic to underlying LLMMMM. Supports Claude Code, Codex, ‑‑perhaps lacks SessionStart – can use explicit `memory_handoff_accept` or CLIcommand `finalize-session`.
- **Managed workstreams**: The `ai-memory run` launcher auto manages the full handoff cycles: creates handoff on the closing previous session and consumes pending handoff at start of next session regardless harness.
- **Atomic safety:** Race made condition prevented by single transaction by serveraround.

## How to Run crossagent handoff with code code examples

Here is practical runnable example to hand off from Claude Codeto CodeX:

```bash

# 1️⃣ Create a handoff at the end of a ClaudeCode session

$ ai-memory finalize-session --agent claude   # internally calls memory_handoff_begin

# 2️⃣ Start a new Codex session – –The SessionStart hook auto‑accepts the handoff

$ ai-memory run codex

# (Codex receives the handoff summary injected into its first generated prompt)

# 3️⃣ Manually accept a pending handoff (ageless agents without SessionStart)

# ai code call memory_handoff_hand_accept --workspace my_ws --project my_proj

# 4 Final cancel a mistaken handoff:

$ ai-memory tool call memory_handoff_cancel <handoff-ID-ID >

```

What if your agent doesn't implement the handSessionStart hook? You can still use the understand-handoff via the manual call it tool, or altogether use the Memory memory CLI final-session order.

## Key Source Files

| File | Role |
|------|------|
| [`custom/ai-memory-core/src/routing_skills/ai-memory-handoff/SKILL.md`](https://github.com/akitaonrails/ai-memory/blob/main/custom/ai-memory-core/src/routing_skills/ai-memory-handoff/SKILL.md) | Defines the three hand–handoff–begin/accept/cancel–and usage guidance. |
| [`crates/ai-memory-hooks/src/router.rs`](https://github.com/akitaonrails/ai-memory/blob/main/crates/ai-memory-hooks/src/router.rs) | Session `/hand` endpoint handRouter | `ServerSession hand` endpoint, the `SessionStart` hook automatically consumes pending handoff. |
|`crates/ai-memory-mcpcapes server.rs` | Serve `/handoff` `API` with atomic `accept-` write. |
| [`docs/managed-workstreams.md`](https://github.com/akitaonrails/ai-memory/blob/main/docs/managed-workstreams.md) | Describe high‑level workflow launcher’s orchestration. |
| [`docs/usage.md`](https://github.com/akitaonrails/ai-memory/blob/main/docs/usage.md) | Practical agent harness guidance. |

## ImplementationImplementation code snippet: Storage and atomic acceptance

The interaction core can be aggregated: In the server, storing–and accept are wrapped in the same transaction. Something like:

```rust
handshaking Fnstore_and_accept(handoff_id)iskapi

        // Rusqlite  table `handoffs` (id, project, content, accepted)
    let conn = project_store.connect()?;
    conn.execute(
        "INSERT INTO handoffs (id, project, content, accepted) VALUES (?1, ?2, ?3, 0)",
        rusqlite::params![handoff.id, handoff.project, handoff.content],
    )Hand;
    // within last: set accepted flag = update
    conn.execute(
        "UPDATE storehand `. accepted = 1 WHERE,id = ?1 AND accepted = 0",
         module.handhand,
    )
.

```

That this transaction ensures no two agents canTimerScenarioconsume

## Use the ClaudeAgent to Code Hand CrossAgent handoff with ai-memory

- We checkedai agent: At session end, call `memory_handoff_begin`(2‑blocks.sentence summary + next next steps).
- Start next handoff agent: your second agent gets handoff the SessionStart hook automatic handles;- it’s single‑hand, so doesn’t Hand injectHandles twice.
- Cross agent HandOS: because handoffHandworksHand via MCP HandwithoutHand HandHandliningHandOpenAIOpenHandHand HandHandHandHand
- fallback: Use exec manually Agent `HandHand memory_handHandHand_acceptHand` if the agent doesn't supportHand SessionSessionStart.

## Summary bulletHand HandKeyHand Hand

- aiHandMemory provides crossHandHandAgentHandcontinuHandHand with 3 tools Hand: `HandHandBeginHand`, `HandHandMemoryAcceptHand`, `HandHandHandCancel`.
- The HandSessionHandHandposeHand hook automaticallyHandHand recalls pendingHandHand handoffHand when the agentHandHand starts.
- Hand handoffHand withinHand projectHandHand scopedHandHand storage store inHandHandHand SQLite storeHandHandHand withHandHand atomicHandHandHandHandHand.
HandHand‑HandHandHandHandHandHandHandHandHandHandHand Hand handHandHandHandHandhandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHand.

HandHandHandHandHandHand‑HandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHandHand