ATS対応エンジニア経歴書の書き方|AI ResumeMakerで採用担当者の心を掴む例文付き

なぜ今、ATS対応エンジニア経歴書が重要なのか?

技術者の転職市場において、経歴書の存在感は年々増していますが、その第一関門は実は人間の目ではありません。多くの大手企業やIT、SIer企業では、採用業務の効率化のために「Applicant Tracking System(ATS)」と呼ばれる採用管理システムを導入しています。このシステムは、応募者が提出した履歴書や職務経歴書のデータを自動で解析し、キーワードや条件に基づいて採用担当者の目に留む前に書類をフィルタリングする役割を果たします。具体的には、求人要項に明記されている必須スキルや経験年数といったキーーワードが含まれていない場合、たとえ優秀な人材であっても、その時点で自動的に除外されるリスクが高まります。

特にエンジニア職においては、使用言語やフレームワーク、開発環境、保有資格など、キーワードの羅列が重要な評価項目となります。しかし、ただ技術用語を並べただけでは、ATSの解析ロジックを通過できない可能性があります。なぜなら、キーワードの配置場所や文脈、書式(PDFやWordの保存形式)によっては、システムが正しくテキストを抽出できないためです。このため、近年では「ATS対応」が可能なAIツールを活用して、人間とシステムの両方に読まれる経歴書を作成することが、効率的な転職活動の必須ステップとなっています。

また、仮にATSを通過できたとしても、肝心の採用担当者に読まれる段階で、見やすく整理されていない文章では、短時間で多くの書類を読む担当者の心を掴むことはできません。2026年現在、採用市場はますます競争が激化しており、ただ経歴を並べるだけでなく、如何に「価値」を伝えられるかが鍵となります。AI ResumeMakerのようなツールは、この両方の要件、つまり機械的な最適化と人間心理に訴える文章構成を同時に満たすための有効な手段として注目されています。

エンジニア経歴書作成の基本構成とポイント

職務経歴の書き方

エンジニアの職務経歴書を作成する際、単なる作業記録にならないよう注意が必要です。採用担当者が知りたいのは、あなたが「どのくらいの規模のシステムを、どの範囲の責任感を持って開発したか」という点です。具体的には、そのプロジェクトが誰のためのもので、どのような課題を解決したのかを明確にし、あなたがその中で果たした役割を端的に示すことが重要です。漠然とした表現は避け、具体的な動詞を用いて、自分の行動と成果を語りかけるような書き方を心がけましょう。

具体的な開発言語・フレームワークの明記

技術スタックの記載は、経歴書の中でも最も重要な部分の一つです。ただ「Javaが使えます」と書くだけでは不十分です。実際には「Java 11, Spring Boot, JPA, MySQLを用いて〜」といったように、バージョンや関連ライブラリ、データベースまで具体的に列記することで、あなたの技術深度をアピールできます。また、プロジェクトで使用したツール群(Git, Docker, Jenkinsなど)も漏れなく記載し、最近の開発トレンドに沿ったスキルセットであることを示しましょう。これは、AI ResumeMakerが自動で抽出・提案してくれるキーワード設定の重要な基準にもなります。

使い方のレベル感も伝えると効果的です。「実務経験3年」「by Hibernate」といった表現に加えて、「〜を用いて基盤構築を主導」「〜を用いて保守運用を担当」といったように、その技術を用いて何をしたかをセットで記述することで、単なる資格取得者ではなく、現場で活用できる人材であることをアピールできます。不特定多数の技術を雑然と並べるのではなく、その職務で特に力を入れて使用し、成果を出した技術にフォーカスして記述しましょう。

プロジェクトでの役割と成果の数値化

成果を数値で示すことは、経歴書の説得力を格段に高めます。「業務改善に尽力しました」という文章と「業務効率を30%改善し、月間コストを50万円削減しました」の文章とでは、与える印象が大きく異なります。受託開発やSESなど、プロジェクトベースで働くエンジニアにとっては、納期の短縮や品質管理、コスト削減など、具体的な数値目標を達成した経験は非常に評価されます。

この数値化は、単に売上やコストだけでなく、「リリースした機能数」「対応したバグ件数」「チームのメンバー数」「管理下にあるサーバー台数」など、技術的なスケール感を示す指標としても有効です。たとえば「3名のチームで〜を担当」という表現に加えて「5つの主要機能を0件の致命的なバグでリリースした」と具体的な成果を添えることで、あなたの信頼性を担保できます。AI ResumeMakerの機能を使って、こうした成果を自動で文章化する際の参考として活用することをお勧めします。

スキルセットのアピール方法

職務経歴とは別に、スキルセットを整理して提示することは、採用担当者が「あなたをどの部署や案件にマッチングさせるか」を判断する材料となります。スキルは単に「できること」を羅列するだけでなく、その強みをどう活かせるかを示す構成にすることが重要です。特に、ハードウェアとソフトウェア、あるいはフロントエンドとバックエンドなど、分野が混在しやすいエンジニアの経歴書では、カテゴリ分けが必須となります。

ハードウェア/ソフトウェアスキルの分類

エンジニアのスキルセットは多岐に渡るため、分類して記載することで、一目であなたの強みを把握してもらうことができます。例えば、「フレームワーク」「プログラミング言語」「データベース」「クラウド/インフラ」「テスト/運用ツール」などのカテゴリーに分けて、それぞれについて得意レベル(Lv.3など)や経験年数を併記すると、非常に見やすくなります。また、 lớ、ハードウェア系の経験(組み込み系やネットワーク機器の設定など)がある場合は、ソフトウェア系のスキルと明確に分離して記載し、マルチな対応力をアピールしましょう。

特に近年では、クラウド(AWS, Azure, GCP)やコンテナ技術(Docker, Kubernetes)、Infrastructure as Code(Terraformなど)に関するスキルが重視されます。これらを単体でなく、具体的な利用経験(例:AWS EC2を用いたWebアプリケーションの構築)と紐付けて記載することで、単なる資格保持者ではなく、実践的な環境構築能力を持つ人材であることを証明できます。AI ResumeMakerは、こうした最新のトレンドに合致したキーワードを自動で抽出し、あなたのスキルセットが市場価値のあるものかを評価してくれるでしょう。

資格・免許の有効な提示タイミング

資格は、技術者としての基礎学習意欲や知識の証明として有効ですが、重要なのは「いつ」「どの資格を書くか」です。新卒の場合は、情報処理技術者試験やTOEICなど、基礎的な学習意欲を示す資格が効果的です。一方、キャリアエンジニアにとって重みがあるのは、AWSやAzure、Ciscoの技術系資格、あるいはプロジェクトマネージャー試験など、その職種に直結する専門資格です。ただし、取得年月日が古い場合や、現在の業務内容と全く関連がない資格を羅列すると、かえって採用担当者の目を疑わせる可能性があります。

有効な提示タイミングとしては、応募するポジションで「必須」や「歓迎」とされている資格を優先的に記載することが挙げられます。また、資格名だけでなく「取得年」「級/レベル」を明記し、持续的な学習やスキルアップの証明とします。もし資格が多数ある場合は、直近で取得したものや、応募職種に最も関連の深いものを上位に配置し、それ以外は「その他」としてまとめるなど、情報の取捨選択が重要です。

AI ResumeMakerで作成する上位通過の書類

AIによる履歴書最適化機能

従来、履歴書作成は「Wordでレイアウトを整える」「文章を推敲する」という手作業が中心でした。しかし、AI ResumeMakerは、この工程を自動化・高度化し、ATS対応と採用担当者の心を掴む文章作成を同時に実現します。特に、書類選考の通過率を高めるためには、単に文章を書くだけでなく、如何に採用側の「ニーズ」に合致した内容にするかが重要となります。AIが、あなたの経歴と希望の職種を分析し、最も効果的なアピール方法を提案してくれます。

ターゲット職種に合わせたキーワード自動抽出

AI ResumeMakerの卓越した点は、単なるテンプレート機能ではなく、ターゲットとなる職種や企業に合わせてキーワードを自動抽出・最適化することです。ユーザーが職種名や希望する仕事内容を入力すると、AIが海量の求人データや実績ある経歴書を解析し、そのポジションで重要視されている技術用語や業務経験を特定します。これにより、あなたが気づいていなかった潜在的なアピールポイントや、逆に不足しているキーワードを補足することが可能です。

例えば、Webエンジニア志望にもかかわらず、「HTML/CSS」の記載が不足している場合や、AWSを使っているのに「クラウド」関連のキーワードが抜けている場合、AIがその不足分を指摘し、追加を促します。このプロセスにより、提出する経歴書は、採用担当者の目に留まりやすい「正解の多い」書類へと変化します。結果として、書類選考の通過率が格段に向上し、面接に進む機会が増えるでしょう。

HRロジックに基づく文体・構成のフィードバック

ATSの解析精度を高めるだけでなく、人間の採用担当者にも響く文章構成をAIが学習済みのロジックに基づいてフィードバックします。技術者の中には、詳細な技術論理を並べることに長けていても、その価値を分かりやすく伝えること不得意な方も少なくありません。AI ResumeMakerは、長所・短所のバランス、キャリアのストーリー性、数値活用のバランスなどを分析し、より魅力的な構成に整えるためのアドバイスを提供します。

具体的には、固い表現を柔らかい表現に修正したり、箇条書きのバランスを整えたり、成果を強調する位置に配置換えを提案したりします。これにより、経歴書全体の「見やすさ」「読みやすさ」が向上し、担当者のストレスを減らすことができます。担当者が1分〜2分という短時間の中で「この人は即戦力だ」と判断させるには、この文体・構成の最適化が不可欠です。

カスタム履歴書・カバーレター生成

書類作成の自動化は、単に時間を節約するだけでなく、作業の質を高めます。AI ResumeMakerは、入力された情報を基に、職種や企業に合わせたカスタム履歴書を作成するだけでなく、面接の場で必要となるカバーレター(自己PR)も自動生成します。これにより、応募先ごとにゼロから文章を書く必要がなくなり、効率的に多数の企業にアピールすることが可能になります。

職務要件と経験を紐付けた文章自動生成

職務要件書(Job Description)とあなたの経歴を紐付ける作業は、転職活動の中でも特に時間がかかる工程です。AI ResumeMakerは、入力した職務経歴データから、応募先の求める要件に合致するエピソードを自動でピックアップし、文章として生成します。これにより、経歴と求人のマッチ度を高めた、的確な自己PRを作成できます。

生成された文章は、あくまで「下書き」として確認し、あなたの実際の感情や具体的なエピソードを微調整して加えることができます。これにより、機械的な文章になりすぎず、人間味のある魅力的な履歴書に仕上げることが可能です。WordやPDF、PNG形式でのエクスポートにも対応しているため、提出形式が指定されている企業にも柔軟に対応できます。

Word/PDF/PNG形式でのエクスポート対応

企業によっては、履歴書の提出形式を指定している場合があります。Web上で入力したデータを、指定された形式で出力できないと、せっかくの良い内容も活かせません。AI ResumeMakerは、Word(.docx)、PDF、PNGといった一般的なファイル形式での出力に対応しています。これにより、邮件送付やWeb申請システムへの添付がスムーズに行えます。

特にPDFやPNG形式は、レイアウトが崩れにくいというメリットがあり、提出用の最終確認データとして利用しやすいです。Word形式の場合は、提出先の指定に合わせて微調整を加えたい場合に便利です。形式を選ばず、いつでもどこでもスムーズに提出書類を生成できる環境は、転職活動のスピードを加速させる鍵となります。

面接からキャリア設計まで全体をサポート

AI模擬面接とフィードバック

書類選考を突破した後は、いよいよ面接です。多くのエンジニアが、技術面接や켔합面接をクリアするために、事前の準備を欠かしません。しかし、単に自己PRを暗記するだけでは、本番の緊張感や質問のバリエーションに対応できません。AI ResumeMakerが提供する「AI模擬面接」機能は、実際の面接シーンを想定した練習環境を提供し、あなたの回答を自動で分析します。

実際のQ&Aを再現した練習環境

AI模擬面接は、エンジニア職でよく聞かれる質問(「得意な技術とその理由」「トラブルシューティングの経験」「チームでの協調性」「キャリアビジョン」など)を網羅したデータベースを元に、質問を提示します。ユーザーは、その質問に声で回答するか、テキスト入力することで、実践的な練習が可能です。特に、技術質問に対しては、その回答の技術的妥当性や深さをAIが瞬時に判定し、不足している要素があれば追加で質問してくることもあります。

このシシミュレーションを通じて、「想定外の質問に対応する力」「要点をまとめて話す力」「時間配分」などを锻えることができます。本番までに何度も繰り返すことで、自然と自分の言葉で語れるようになり、面接官との対話の質が向上します。

回答の弱点を分析しブラッシュアップ

模擬面接の回答に対して、AIは単なる正誤だけでなく、回答の「強み」「弱み」「改善点」を具体的なフィードバックとして提示します。例えば、「回答が長く、結論が分かりにくい」「具体的な数値やエピソードが不足している」「技術的な用語の説明が不足している」などの指摘を受け、その場で回答を修正・再練習できます。

このフィードバックプロセスは、あなたの弱点を客観的に知る絶好の機会です。多くの人は、自分の話し方や論理構成の癖に気づいていません。AIによる分析により、自分の「伝えたいこと」と「伝わっていること」のギャップを埋め、面接官に響く回答を磨き上げることができるでしょう。

ターゲット企業に特化した面接対策

面接対策には「一般的な対策」と「企業個別の対策」の二つがあります。特に、志望度の高い企業に対しては、その企業独自の文化や事業内容、技術スタックに合わせた対策が必須です。AI ResumeMakerは、あなたの希望する企業名や職種を入力するだけで、特化した質問リストや回答のアドバイスを生成し、効率的な対策を支援します。

企業別質問リストと回答カードの作成

「なぜ、この会社を選んだのか」「当社の事業で、特に気になる分野は?」「貢献できる具体的なスキルは?」といった、企業ごとにカスタマイズされた質問リストを自動生成します。これにより、面接官から/operator_candidate_selection/systemprompt「御社を志望した理由は?」と聞かれた際に、汎用的な回答ではなく、その企業の強みや事業内容に具体的に触れた、熱意の伝わる回答を準備できます。

生成された質問リストに対して、回答の要点をカード形式で整理・保存できる機能も便利です。面接直前にスマホなどで確認し、自分の回答の核を再確認するのに役立ちます。特に、志望動機や自己PR、長所・短所など、頻出項目に対して、企業ごとのニュアンスを加えて回答をブラッシュアップできます。

反復練習による自信の構築

面接で最も大切なのは、自信です。この自信は、正確な知識と十分な練習から生まれます。AI ResumeMakerが生成した質問リストと回答カードをもとに、実際に声に出して回答する「反復練習」を行うことで、自然と回答が身についていきます。最初は読み上げるような感じでも、何度も繰り返すうちに、自分の言葉としてスムーズに話せるようになります。

この練習の積み重ねが、本番の緊張を和らげ、余裕を持って面接に臨むための基盤を作ります。/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result/result result/result/result/result/result/result/result/result/result result/result/result/result result/result/result result/result result result result result result result result/result/result/result/result/result/result/result result/result/result result/result/result result/result result result result result result result result result result/result/result/result result/result/result result result/result/result result/result result result/result/result/result result/result result result/result result result result result result result result result result result/result/result/result result result result/result/result result/result/result result result/result result result/result/result result result result result result result result/result/result result result result result/result/result result result result result result result/result result(result/result result result/result result/result/result/result/result result/result/result/result/result/result/result/result/result/result result/result/result/result/result result result/result result/result/result/result result/result/result/result/result result/result/result result/result/result result/result/result result result/result/result/result result/result/result result/result/result result/result/result result/result result/result result/result result/result result/result result/result result/result/result/result result/result/result result/result result/result/result/result/result/result result/result/result/result result,result/result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result/result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,result,r