刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦刻苦

上一章目录+书架下一章