<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def profile_update_args_v3(self, profile):
 """Update v1 profile args to v3 schema for args. .. code-block:: javascript "args": { "app": { "required": { "input_strings": "capitalize", "tc_action": "Capitalize" }, "optional": { "fail_on_error": true } } }, "default": { "api_access_id": "$env.API_ACCESS_ID", "api_default_org": "$env.API_DEFAULT_ORG", }, Args: profile (dict):
 The dictionary containting the profile settings. """

        ij = self.load_install_json(profile.get('install_json', 'install.json'))
        ijp = self.install_json_params(ij)

        if (
            profile.get('args', {}).get('app', {}).get('optional') is None
            and profile.get('args', {}).get('app', {}).get('required') is None
        ):
            app_args = profile['args'].pop('app')
            profile['args']['app'] = {}
            profile['args']['app']['optional'] = {}
            profile['args']['app']['required'] = {}
            for arg in self.profile_settings_args_install_json(ij, None):
                required = ijp.get(arg).get('required', False)

                try:
                    if required:
                        profile['args']['app']['required'][arg] = app_args.pop(arg)
                    else:
                        profile['args']['app']['optional'][arg] = app_args.pop(arg)
                except KeyError:
                    if self.args.verbose:
                        print(
                            '{}{}Input "{}" not found in profile "{}".'.format(
                                c.Style.BRIGHT, c.Fore.YELLOW, arg, profile.get('profile_name')
                            )
                        )
            print(
                '{}{}Updating args section to v3 schema for profile {}.'.format(
                    c.Style.BRIGHT, c.Fore.YELLOW, profile.get('profile_name')
                )
            )