- La donación es un contrato gratuito por el que una persona transfiere un bien a otra que lo acepta, regulado por el Código Civil Federal y los códigos civiles de cada entidad. Las partes necesitan capacidad legal, consentimiento sin vicios, animus donandi y aceptación expresa o tácita del donatario para que el contrato exista y sea válido.
- Los costos suman derechos notariales, impuesto estatal por adquisición de inmuebles, registro público y, si hay ganancia, ISR a cargo del donante. El donante tributa por ISR cuando el valor de donación supera el de adquisición, con tasa de hasta 35%; hay exenciones entre parientes y deducción a donatarias autorizadas.
- Cómo reclamar: papeleta al SMAC y demanda, en 20 días.
Aviso: Este contenido es únicamente informativo y educativo y no constituye asesoría jurídica ni profesional. Aunque procuramos utilizar legislación, jurisprudencia y fuentes oficiales vigentes en México, las normas, criterios, plazos y requisitos pueden cambiar o variar según cada caso y entidad federativa. No tomes decisiones legales, económicas o que puedan afectar tus derechos basándote únicamente en este artículo. Verifica la información relevante en fuentes oficiales como el DOF, Cámara de Diputados, SCJN y la autoridad competente, y consulta a un abogado o profesional calificado cuando tu situación lo requiera. Los ejemplos y cálculos son orientativos y pueden contener errores u omisiones.
La donación es un contrato por el cual una persona transfiere gratuitamente un bien a otra, que lo acepta. En México se rige por el Código Civil Federal y por los códigos civiles de cada entidad; la forma exigida (verbal, escrito privado o escritura pública) depende del tipo de bien y de su valor, y el costo total cambia según el estado y el monto de la operación.
¿Quién puede donar y quién puede recibir? Requisitos de las partes
El Código Civil Federal reconoce a la donación como un contrato traslativo de dominio, gratuito y, en principio, irrevocable. Para que exista y sea válida se necesitan cuatro elementos básicos:
- Capacidad legal: pueden donar y recibir todas las personas que la ley no declara inhábiles para contratar. Los menores de edad y las personas bajo interdicción necesitan representante.
- Consentimiento sin vicios: la voluntad del donante debe ser libre y consciente; si hay violencia, error o dolo, el contrato puede anularse.
- Animus donandi: la intención de liberalidad, de entregar algo sin esperar una contraprestación económica a cambio.
- Aceptación del donatario: la donación se perfecciona con la aceptación, ya sea de forma expresa o tácita.
En cuanto a las personas morales, las llamadas donatarias autorizadas son organizaciones civiles y fideicomisos autorizados por el Servicio de Administración Tributaria (SAT) para recibir donativos deducibles; están reguladas por la Ley del ISR. No toda asociación recibe donativos deducibles: el SAT publica cada año el listado vigente.
Documentos para formalizar el acuerdo de donación
La papelería cambia según el bien y el estado. Aun así, hay un paquete común que cualquier notaría de México solicita:
- Identificación oficial vigente del donante y del donatario (INE/IFE o pasaporte).
- Clave Única de Registro de Población (CURP) de ambos.
- RFC del donante y, cuando aplique, del donatario.
- Comprobante de domicilio reciente.
- Comprobantes del bien: facturas, contratos previos, estados de cuenta o títulos.
- Avalúo vigente cuando se trate de inmuebles o muebles de alto valor.
- Papeles registrales: certificado de libertad de gravamen y, para inmuebles, la escritura que acredite la propiedad.
Si el donante actúa en representación, hay que añadir el poder notarial y la identificación del representante. Cuando hay menores o incapaces, la donación debe autorizar el juez familiar o un tutor con facultades.
¿Cuánto cuesta formalizar la donación? Impuestos, notaría y registro
Los costos varían por estado, por notaría y por el valor del bien. Una forma útil de pensarlo es separar cuatro bloques de gasto:
| Concepto | Qué cubre | Quién cobra | Cómo varía |
|---|---|---|---|
| Derechos notariales | Honorarios del notario por escriturar | Notaría | Por el valor del bien y la tarifa del estado |
| Impuesto sobre adquisición de inmuebles | Traslado de dominio | Gobierno estatal | Cada estado fija tasa y, en su caso, subsidio |
| Registro Público de la Propiedad | Inscripción para oponer la donación ante terceros | Registro estatal | Cuotas fijas o proporcionales por estado |
| ISR enajenación (donante) | Ganancia所得所得 por diferencia entre valor de adquisición y valor de donación | SAT | Aplica cuando hay ganancia所得所得所得; hay exenciones por monto y parentesco |
A estos se suman gestoría, copias certificadas y, si se requiere, el avalúo. Por su utilidad, conviene pedir dos cotizaciones notariales antes de firmar.
Tratamiento fiscal: ISR, exenciones y donatarias autorizadas
El SAT grava la donación como una enajenación. La regla general es que el donante paga ISR si el valor de donación supera el valor con el que adquirió el bien; la tasa aplicable es la de enajenación de inmuebles (hasta 35%, según la franja de ganancia). Existen exenciones importantes:
- Entre padres, hijos o cónyuges, las donaciones de casa habitación suelen tener una exención parcial o total según el estado; revisa el código fiscal local.
- Cuando el donatario es una donataria autorizada, el donante puede deducir el donativo en su declaración anual dentro de los topes que fija la Ley del ISR.
- Para gozar de la deducibilidad, el donativo debe pagarse con transferencia electrónica y emitirse un CFDI de donativo.
Ejemplo resuelto en pesos mexicanos. Donante: Luis, en Monterrey, vende una propiedad que adquirió hace 12 años por 1.500.000 MXN. Hoy la dona a su hija, que acepta. El avalúo y el valor de donación son 3.200.000 MXN.
- Ganancia所得所得 enajenación: 3.200.000 − 1.500.000 = 1.700.000 MXN.
- Ingreso acumulable base para ISR: el 20% del valor de donación cuando se trata de adquisición所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得所得
Fuentes
- WikipediaContrato de donación – Wikipedia, la enciclopedia libreconsultado el 08/08/2026
